温馨提示×

k8s部署centos上有哪些步骤

小樊
33
2025-12-27 13:43:32
栏目: 智能运维

在CentOS上部署Kubernetes(k8s)集群通常涉及以下步骤:

  1. 准备工作

    • 确保你有一台或多台CentOS服务器,这些服务器将作为Kubernetes集群的节点。
    • 确保所有节点上都安装了Docker,因为Kubernetes使用Docker作为容器运行时。
    • 确保所有节点都能够通过网络互相通信。
  2. 设置主机名和hosts文件

    • 为每个节点设置一个唯一的主机名。
    • 在每个节点的/etc/hosts文件中添加其他节点的主机名和IP地址映射。
  3. 关闭SELinux(如果需要):

    • SELinux可能会阻止Kubernetes的正常运行,可以通过设置SELINUX=disabled来临时关闭它。
  4. 配置防火墙

    • 开放Kubernetes所需的端口,例如6443(kube-apiserver)、2379-2380(etcd)、10250(kubelet)、10251(kube-scheduler)、10252(kube-controller-manager)等。
  5. 安装Kubernetes组件

    • 使用kubeadm工具来初始化主节点(master node)。
    • 使用kubeadm join命令将工作节点(worker nodes)加入到集群中。
  6. 验证集群状态

    • 使用kubectl命令行工具来检查集群组件是否正常运行。
    • 检查节点状态和Pod是否已经成功调度。

下面是一个简化的示例流程:

在主节点上执行

# 关闭swap
sudo swapoff -a

# 设置主机名
sudo hostnamectl set-hostname master-node

# 安装Docker
sudo yum install -y docker

# 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 配置Docker镜像加速(可选)
# 编辑 /etc/docker/daemon.json 文件,添加镜像加速配置

# 安装kubeadm, kubelet, kubectl
sudo yum install -y kubeadm kubelet kubectl

# 启动kubelet并设置开机自启
sudo systemctl start kubelet
sudo systemctl enable kubelet

# 初始化主节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

# 设置kubectl的默认命名空间为kube-system
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 安装网络插件(例如Flannel)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

在工作节点上执行

# 关闭swap
sudo swapoff -a

# 设置主机名
sudo hostnamectl set-hostname worker-node

# 设置主机名和IP映射
echo "master-node worker-node" | sudo tee -a /etc/hosts

# 安装Docker
sudo yum install -y docker

# 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 配置Docker镜像加速(可选)
# 编辑 /etc/docker/daemon.json 文件,添加镜像加速配置

# 安装kubeadm, kubelet, kubectl
sudo yum install -y kubeadm kubelet kubectl

# 启动kubelet并设置开机自启
sudo systemctl start kubelet
sudo systemctl enable kubelet

# 使用主节点上的token加入集群
sudo kubeadm join master-node:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

注意:上述步骤中的master-nodeworker-node需要替换为你的实际主机名,<token><hash>需要替换为kubeadm init命令输出的实际值。

完成这些步骤后,你的Kubernetes集群应该已经部署完成,并且可以通过kubectl工具进行管理。记得在生产环境中考虑更多的安全性和高可用性配置。

0