当前位置: 首页 > article >正文

ubuntu搭建k8s环境详细教程

在Ubuntu上搭建Kubernetes(K8s)环境可以通过多种方式实现,下面是一个详细的教程,使用kubeadm工具来搭建Kubernetes集群。这个教程将涵盖从准备工作到安装和配置Kubernetes的所有步骤。

环境准备

  1. 操作系统:确保你使用的是Ubuntu 20.04或更高版本。

  2. 硬件要求

    • 至少2GB RAM(推荐4GB或更多)。
    • 至少2个CPU核心。
    • 确保有足够的磁盘空间(至少20GB)。
  3. 网络要求

    • 确保所有节点之间可以互相通信。
    • 关闭防火墙或配置防火墙规则以允许Kubernetes组件之间的通信。

步骤 1:准备节点

1.1 更新系统
sudo apt update
sudo apt upgrade -y
1.2 设置主机名

为每个节点设置主机名(例如,master和worker节点):

sudo hostnamectl set-hostname master-node
1.3 编辑 /etc/hosts

在所有节点上编辑 /etc/hosts 文件,添加每个节点的IP和主机名:

sudo nano /etc/hosts

添加以下内容(根据你的实际IP地址和主机名进行修改):

192.168.1.100 master-node
192.168.1.101 worker-node1
192.168.1.102 worker-node2

步骤 2:安装Docker

Kubernetes需要一个容器运行时,Docker是最常用的选择。

2.1 安装Docker
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce
2.2 启动并设置Docker开机自启
sudo systemctl start docker
sudo systemctl enable docker
2.3 配置Docker使用systemd作为cgroup管理器

编辑Docker配置文件:

sudo mkdir /etc/docker
sudo nano /etc/docker/daemon.json

添加以下内容:

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

重启Docker服务:

sudo systemctl restart docker

步骤 3:安装Kubernetes组件

3.1 添加Kubernetes的APT源
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
3.2 安装Kubernetes组件
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

步骤 4:初始化Kubernetes集群

在主节点上执行以下命令以初始化Kubernetes集群:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

初始化完成后,您会看到一条类似于以下的输出,记录下kubeadm join命令:

kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

步骤 5:配置kubectl

在主节点上配置kubectl以便于管理Kubernetes集群:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

步骤 6:安装Pod网络插件

Kubernetes需要一个网络插件来管理Pod之间的通信。这里我们使用Calico作为网络插件:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

步骤 7:加入工作节点

在每个工作节点上,使用在初始化时记录的kubeadm join命令加入集群。例如:

sudo kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

步骤 8:验证集群状态

在主节点上,运行以下命令以验证集群状态:

kubectl get nodes

你应该能看到主节点和所有工作节点的状态为Ready

结语

至此,你已经成功在Ubuntu上搭建了Kubernetes集群。通过这个集群,你可以部署和管理容器化应用程序。接下来,你可以根据需要安装其他工具和应用,进一步探索Kubernetes的强大功能。希望这个教程对你有所帮助!


http://www.kler.cn/a/408087.html

相关文章:

  • 持续集成与持续部署:CI/CD实现教程
  • HarmonyOs鸿蒙开发实战(20)=>一文学会基础使用组件导航Navigation
  • 身份证实名认证API接口助力电商购物安全
  • Fakelocation Server服务器/专业版 Windows11
  • Vue3响应式原理
  • 高危,Laravel参数注入漏洞安全风险通告
  • 「Mac玩转仓颉内测版28」基础篇8 - 元组类型详解
  • linux ollama安装没有sudo权限
  • Android 不同情况下使用 runOnUiThread
  • H.265流媒体播放器EasyPlayer.js H5流媒体播放器关于如何查看手机端的日志信息并保存下来
  • IIFE - 立即执行函数
  • Flutter:AnimatedIcon图标动画,自定义Icon通过延时Interval,实现交错式动画
  • C# 委托与事件
  • Linux——进程间通信之管道
  • docker 容器运行Ruoyi-cloud
  • 二.LoadBalancer负载均衡服务调用(1)
  • python代码制作数据集的测试和数据质量检测思路
  • SQL注入--DNSlog外带注入--理论
  • Android开发实战班 - 应用架构 - 单向数据流(Unidirectional Data Flow, UDF)
  • Java 8 Stream API 在数据转换中的应用 —— 将列表转换为映射
  • 怎么只提取视频中的声音?从视频中提取纯音频技巧
  • 【StarRocks】starrocks 3.2.12 【share-nothing】 多Be集群容器化部署
  • 【AI系统】GPU 架构与 CUDA 关系
  • 简单版面试
  • 大语言模型---LoRA中损失值的计算
  • 基于vue框架的的网约车订单管理系统iu447(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。