ubuntu

Ubuntu Kubernetes部署攻略

小樊
41
2025-06-21 13:01:06
栏目: 智能运维

在Ubuntu上部署Kubernetes集群是一个相对直接的过程,但需要仔细规划和执行。以下是一个详细的攻略,帮助你在Ubuntu系统上成功部署Kubernetes。

环境准备

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
    
  2. 安装Docker

    sudo apt install -y docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
  3. 安装Kubernetes组件

    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 update
    sudo apt install -y kubelet kubeadm kubectl
    sudo apt-mark hold kubelet kubeadm kubectl
    
  4. 配置kubectl

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

部署Kubernetes集群

  1. 初始化主节点

    sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=<主节点IP> --control-plane-endpoint=<主节点IP或负载均衡地址>
    
  2. 添加工作节点: 在工作节点上使用Master节点初始化时提供的命令加入集群:

    sudo kubeadm join <主节点IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    
  3. 安装网络插件(例如Calico):

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    

验证部署

在Master节点上使用以下命令检查节点状态:

kubectl get nodes

如果一切正常,您应该能看到至少一个节点的状态为Ready。

部署应用

  1. 创建Deployment: 创建一个名为microservice-deployment.yaml的文件:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: microservice
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: microservice
      template:
        metadata:
          labels:
            app: microservice
        spec:
          containers:
          - name: microservice
            image: your-docker-image:tag
            ports:
            - containerPort: 8080
    
  2. 应用Deployment

    kubectl apply -f microservice-deployment.yaml
    
  3. 验证部署

    kubectl get pods
    kubectl get services
    

生产级最佳实践

  1. 高可用控制平面: 部署多个Master节点,并使用etcd集群来保证etcd的高可用性。

  2. 持久化存储: 为你的应用程序配置持久存储,如使用PersistentVolumes和PersistentVolumeClaims。

  3. 安全加固

    • 使用网络策略限制Pod之间的通信。
    • 配置RBAC(基于角色的访问控制)来管理用户和服务的权限。

通过以上步骤,你可以在Ubuntu上成功部署一个基本的Kubernetes集群,并根据需要进一步配置和优化。希望这个攻略对你有所帮助!

0
看了该问题的人还看了