centos

CentOS如何快速安装K8S

小樊
65
2025-09-28 19:22:16
栏目: 智能运维

CentOS快速安装Kubernetes(K8S)步骤

1. 环境准备

在开始安装前,需完成以下基础配置,确保系统符合K8S安装要求:

以上步骤需在**所有节点(Master+Worker)**上执行。

2. 安装Docker(容器运行时)

K8S依赖容器运行时,推荐使用Docker(需CentOS 7及以上):

Docker安装完成后,需配置镜像加速(可选但推荐):

mkdir -p /etc/docker && tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload && systemctl restart docker

3. 安装Kubernetes核心组件

通过yum安装kubelet(节点代理)、kubeadm(集群初始化工具)、kubectl(集群管理命令行):

[kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF

- **安装组件**:  
```bash
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

注意:安装完成后,kubelet会自动启动,但需等待kubeadm init初始化集群后才会正常运行。

4. 初始化Master节点

Master节点是集群的控制中心,需执行以下命令初始化:

kubeadm init \
  --apiserver-advertise-address=192.168.1.100 \  # 替换为Master节点IP
  --pod-network-cidr=10.244.0.0/16 \           # 指定Pod网络CIDR(与后续网络插件匹配)
  --image-repository registry.aliyuncs.com/google_containers  # 使用国内镜像加速

初始化完成后,会输出类似以下信息(务必保存,用于Worker节点加入集群):

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

配置kubectl(用于管理集群):

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

验证Master节点状态

kubectl get nodes  # 应显示Master节点状态为"NotReady"(需安装网络插件后变为Ready)

5. 安装网络插件

K8S需要网络插件实现Pod间通信,推荐使用Flannel(轻量易用):

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

验证网络插件状态

kubectl get pods -n kube-system  # 应显示flannel相关Pod状态为"Running"

6. 添加Worker节点

在Worker节点上执行Master节点初始化时输出的kubeadm join命令(替换为实际Token和IP):

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

验证Worker节点是否加入
回到Master节点,执行:

kubectl get nodes  # 应显示所有节点状态为"Ready"

常见问题解决

按照以上步骤,即可在CentOS上快速搭建一个基础的K8S集群。如需生产环境使用,建议补充高可用配置(如多Master节点)、存储插件(如NFS、Ceph)及安全认证(如TLS证书)。

0
看了该问题的人还看了