溫馨提示×

CentOS Docker與Kubernetes集成探討

小樊
45
2025-06-28 10:12:44
欄目: 智能運維

在CentOS系統上集成Docker和Kubernetes是一個常見的操作,用于簡化應用的部署和管理。以下是一個詳細的步驟指南,幫助你實現這一目標。

安裝Docker

首先,需要在CentOS系統上安裝Docker。以下是安裝步驟:

  1. 更新系統

    sudo yum update -y
    
  2. 安裝依賴

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 添加Docker倉庫

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  4. 安裝Docker引擎

    sudo yum install docker-ce docker-ce-cli containerd.io
    
  5. 啟動Docker服務

    sudo systemctl start docker
    
  6. 設置Docker開機自啟

    sudo systemctl enable docker
    
  7. 驗證安裝

    sudo docker run hello-world
    

    如果看到類似以下輸出,則表示Docker安裝成功:

    Hello from Docker! This message shows that your installation appears to be working correctly.
    

安裝Kubernetes組件

接下來,需要在CentOS系統上安裝Kubernetes組件。以下是安裝步驟:

  1. 安裝必要依賴

    sudo yum install -y epel-release
    
  2. 添加Kubernetes倉庫

    cat <<EOF | sudo tee -a /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    
  3. 安裝Kubernetes

    sudo yum install -y kubeadm kubelet kubectl
    
  4. 啟動并使Kubernetes服務開機自啟

    sudo systemctl enable kubelet
    sudo systemctl start kubelet
    

初始化Kubernetes集群

在Master節點上初始化Kubernetes集群:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

初始化完成后,Master節點會生成一些配置信息,需要保存下來用于添加Node節點和配置kubectl。

配置kubectl

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

安裝網絡插件

安裝網絡插件(如Calico):

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

添加Node節點

在Node節點上運行以下命令,加入集群:

sudo kubeadm join --token <token> <master-ip>:6443 --discovery-token-ca-cert-hash <hash>

驗證集群狀態

驗證集群是否正常運行:

kubectl get nodes

確保所有節點都處于Ready狀態。

部署應用程序

創建一個Kubernetes部署文件deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: my-app-image
        ports:
        - containerPort: 80

然后,使用kubectl創建這個部署:

kubectl apply -f deployment.yaml

暴露服務

創建一個服務文件service.yaml

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

然后應用這個服務:

kubectl apply -f service.yaml

通過以上步驟,你就可以在CentOS系統上成功部署并使用Docker和Kubernetes,實現高效的容器化應用管理和部署。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女