温馨提示×

如何在Ubuntu上管理Kubernetes集群

小樊
53
2025-09-14 22:14:58
栏目: 智能运维

在Ubuntu上管理Kubernetes集群的核心步骤如下:

1. 环境准备

  • 安装Docker:作为容器运行时,执行以下命令:
    sudo apt update  
    sudo apt install docker.io  
    sudo systemctl enable --now docker  
    
  • 安装Kubernetes组件:安装kubeadm(集群初始化)、kubelet(节点管理)、kubectl(命令行工具):
    sudo apt update  
    sudo apt install -y apt-transport-https curl  
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -  
    echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list  
    sudo apt install -y kubelet kubeadm kubectl  
    sudo apt-mark hold kubelet kubeadm kubectl  # 锁定版本避免自动升级  
    

2. 初始化集群(Master节点)

  • 关闭Swap(Kubernetes要求):
    sudo swapoff -a  
    
  • 执行初始化命令
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16  # 指定Pod网络CIDR  
    
    复制输出的kubeadm join命令,用于后续添加节点。

3. 配置kubectl

  • 将集群配置文件复制到用户目录:
    mkdir -p $HOME/.kube  
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  
    sudo chown $(id -u):$(id -g) $HOME/.kube/config  
    

4. 部署网络插件

  • 以Calico为例,部署网络插件实现Pod间通信:
    kubectl apply -f https://docs.projectcalico.org/v3.9/manifests/calico.yaml  
    

5. 添加工作节点

  • 在其他Ubuntu节点上执行Master节点输出的kubeadm join命令,加入集群:
    sudo kubeadm join <主节点IP>:6443 --token <令牌> --discovery-token-ca-cert-hash sha256:<哈希值>  
    

6. 验证集群状态

  • 查看节点状态:
    kubectl get nodes  
    
    确保所有节点状态为Ready

7. 部署应用

  • 通过kubectl创建Deployment、Service等资源,例如部署Nginx:
    kubectl create deployment nginx --image=nginx  
    kubectl expose deployment nginx --type=NodePort --port=80  
    

8. 监控与管理

  • 查看集群信息
    kubectl get pods,svc,deployments --all-namespaces  
    
  • 访问Dashboard(可选):
    部署Kubernetes Dashboard并配置访问权限,用于可视化集群管理。

9. 常用管理命令

  • 查看节点kubectl get nodes
  • 查看Podskubectl get pods -o wide
  • 删除节点kubectl delete node <节点名称>
  • 更新集群组件sudo apt-get upgrade kubelet kubectl

通过以上步骤,可在Ubuntu上完成Kubernetes集群的搭建与管理,支持多节点扩展与容器化应用部署。

0