Rocky 8 上安装 Kubernetes 的入门指南
Kubernetes 是一个用于自动化应用程序部署、扩展和管理的开源平台。它有助于在多个主机上管理容器化的应用程序。本文将指导你如何在 Rocky Linux 8 上安装 Kubernetes。以下是流程概述。
安装流程概述
步骤 | 描述 |
---|---|
1 | 更新系统包管理器 |
2 | 安装所需的依赖包 |
3 | 配置 Kubernetes 仓库 |
4 | 安装 Kubernetes 组件(kubelet、kubectl、kubeadm) |
5 | 启动 Kubernetes 的控制平面 |
6 | 验证 Kubernetes 安装 |
下面我们将逐步解释每一步,及其对应的命令。
步骤详解
第一步:更新系统包管理器
在开始安装之前,首先要确保你的系统是最新的。打开终端,运行以下命令:
sudo dnf update -y
sudo
: 以超级用户的身份执行命令。dnf update
: 更新系统中的所有软件包。-y
: 自动确认更新。
第二步:安装所需的依赖包
Kubernetes 需要一些预先安装的软件包。运行以下命令:
sudo dnf install -y conntrack ipset
conntrack
: 连接追踪工具。ipset
: 用于管理 IP 地址集的工具。
第三步:配置 Kubernetes 仓库
在安装 Kubernetes 之前,需要配置 Kubernetes 的包仓库。创建一个新的 repo 文件:
sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=
enabled=1
gpgcheck=1
gpgkey=
EOF
tee
: 用于从标准输入读取并输出到文件。EOF
: 确定文本块的开始和结束。
第四步:安装 Kubernetes 组件
现在可以安装 Kubernetes 的组件了。运行以下命令:
sudo dnf install -y kubelet kubeadm kubectl
kubelet
: Kubernetes 的主要管理代理。kubeadm
: 用于集群初始化和管理的工具。kubectl
: Kubernetes 的命令行工具。
启用 kubelet
服务:
sudo systemctl enable kubelet
sudo systemctl start kubelet
systemctl enable
: 开机自启服务。systemctl start
: 启动服务。
第五步:启动 Kubernetes 的控制平面
使用 kubeadm
来初始化集群:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
kubeadm init
: 初始化 Kubernetes 控制平面。--pod-network-cidr
: 设置 Pod 网络 CIDR。
为了让非 root 用户可以操作 Kubernetes,需要执行以下命令:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
mkdir
: 创建目录。cp
: 复制文件。chown
: 更改文件的所有者和组。
第六步:验证 Kubernetes 安装
最后,你可以通过以下命令验证 Kubernetes 是否成功安装:
kubectl get nodes
如果一切顺利,你应该能看到你的节点的状态是 Ready
。
安装网络插件
为了使 Pod 之间能够通信,需要安装一个网络插件。以下是安装 Calico 的方法:
kubectl apply -f
apply
: 应用 YAML 文件中的配置。
序列图:安装 Kubernetes 流程
sequenceDiagram
participant U as 用户
participant S as 系统
U->>S: 更新系统包管理器
S-->>U: 更新成功
U->>S: 安装依赖包
S-->>U: 依赖包安装成功
U->>S: 配置 Kubernetes 仓库
S-->>U: 配置成功
U->>S: 安装 Kubernetes 组件
S-->>U: 组件安装成功
U->>S: 启动 Kubernetes 控制平面
S-->>U: 控制平面启动成功
U->>S: 验证安装
S-->>U: 安装成功,节点状态为 Ready
结语
通过以上步骤,你已成功在 Rocky Linux 8 上安装 Kubernetes。请记得定期检查 Kubernetes 版本和安全更新,以确保你的环境安全和稳定。如果你是在本地开发,建议你进一步学习 Kubernetes 的基本概念和架构。欢迎使用 Kubernetes 来管理和扩展你的容器化应用程序!