CentOS 安装 Kubernetes

Kubernetes 是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序,CentOS 作为一款流行的开源操作系统,因其稳定性和易用性,成为许多用户选择部署 Kubernetes 的平台,本文将详细介绍如何在 CentOS 上安装 Kubernetes。
准备工作
系统要求
- 操作系统:CentOS 7 或更高版本
- 硬件要求:至少 2GB 内存
- 网络配置:确保所有节点之间可以相互通信
环境准备
- 关闭防火墙和selinux
- 设置主机名
- 安装必要的软件包
安装过程
安装 Kubernetes 组件
安装 Kubernetes 组件之前,需要先安装一个名为
kubeadm的工具,用于初始化集群。sudo yum install -y kubeadm
初始化集群
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
这条命令会初始化 Kubernetes 集群,并输出一些信息,包括
kubeadm join命令,用于将节点加入集群。将
kubeadm join命令保存到/etc/yum.repos.d/kubelet.repo文件中,以便后续使用。
sudo cp /etc/kubernetes/admin.conf /etc/yum.repos.d/kubelet.repo
修改
/etc/yum.repos.d/kubelet.repo文件,将command参数修改为--kubelet-bootstrapping-token <token>。
安装网络插件
安装 Flannel 网络插件
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
将节点加入集群
在所有节点上执行以下命令,将节点加入集群:
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
<master-ip>是集群主节点的 IP 地址,<token>和<hash>分别是初始化集群时输出的kubeadm join命令中的token和discovery-token-ca-cert-hash。
验证安装
查看集群状态
sudo kubectl get nodes
如果所有节点都处于
Ready状态,说明集群安装成功。部署测试 Pod

kubectl run hello-world --image=nginx --port=80 kubectl get pods
如果看到 Pod 处于
Running状态,说明 Kubernetes 集群运行正常。
FAQs
问题:安装过程中遇到错误 "Unable to update cgroup driver to 'systemd' on the master" 如何解决?
解答: 这是因为 Kubernetes 需要使用
systemd作为 cgroup 驱动,可以尝试以下步骤解决:修改
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf文件,将KUBELET_CGROUP_DRIVER参数设置为systemd。重启 kubelet 服务:
sudo systemctl daemon-reload sudo systemctl restart kubelet
问题:如何查看集群的详细配置信息?
解答: 可以使用以下命令查看集群的详细配置信息:
sudo kubectl cluster-info

