centos

CentOS Docker与Kubernetes集成探讨

小樊
39
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
看了该问题的人还看了