centos k8s应用部署实践

在CentOS上部署Kubernetes(k8s)并应用部署的实践步骤如下:

一、准备工作

  1. 安装Docker

    • CentOS 7及以上版本可以使用yum安装Docker。
    sudo yum install -y docker
    
    • 启动Docker服务并设置开机自启。
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 配置Docker镜像加速

    • 编辑/etc/docker/daemon.json文件,添加国内镜像源。
    {
      "registry-mirrors": ["https://<your-mirror-url>"]
    }
    
    • 重启Docker服务。
    sudo systemctl restart docker
    
  3. 安装Kubernetes组件

    • 使用kubeadm、kubelet和kubectl进行安装。
    sudo yum install -y kubeadm kubelet kubectl
    sudo systemctl enable --now kubelet
    

二、初始化Kubernetes集群

  1. 初始化主节点

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    
    • 记录输出的kubeadm join命令,用于加入工作节点。
  2. 配置kubectl

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  3. 安装网络插件(例如Flannel):

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

三、部署应用

  1. 创建Deployment和Service

    • 编写一个简单的Nginx Deployment和Service的YAML文件。
    # nginx-deployment.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:latest
            ports:
            - containerPort: 80
    
    # nginx-service.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-service
    spec:
      selector:
        app: nginx
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: LoadBalancer
    
  2. 应用配置

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

    • 获取Service的External IP。
    kubectl get svc nginx-service
    
    • 访问External IP,确认Nginx服务正常运行。

四、加入工作节点

  1. 在工作节点上执行初始化命令
    sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    

五、监控和管理

  1. 安装监控工具(例如Prometheus和Grafana):

    kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/master/bundle.yaml
    
  2. 使用kubectl进行日常管理

    • 查看Pod状态。
      kubectl get pods
      
    • 查看Service状态。
      kubectl get services
      

六、备份与恢复

  1. 备份etcd数据

    etcdctl snapshot save /var/lib/etcd/backup.db
    
  2. 恢复etcd数据

    etcdctl snapshot restore /var/lib/etcd/backup.db
    

通过以上步骤,你可以在CentOS上成功部署Kubernetes集群并应用部署。根据实际需求,可以进一步优化和扩展集群功能。

Both comments and pings are currently closed.

Comments are closed.

Powered by KingAbc | 粤ICP备16106647号-2 | Loading Time‌ 0.418