温馨提示×

k8s应用centos上如何部署

小樊
41
2025-12-27 13:37:29
栏目: 智能运维

在CentOS上部署Kubernetes(k8s)集群,可以按照以下步骤进行:

1. 准备工作

  • 操作系统:确保CentOS版本为7或8。
  • 网络配置:确保所有节点之间可以互相通信。
  • 防火墙设置:开放必要的端口,如6443(kubelet)、2379-2380(etcd)、10250(kubelet)、10251(kube-scheduler)、10252(kube-controller-manager)、10253(kube-apiserver)等。

2. 安装Docker

Kubernetes需要Docker作为容器运行时环境。

sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

3. 配置Docker

为了提高性能和安全性,可以调整Docker的配置。

sudo tee /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl restart docker

4. 安装Kubernetes组件

使用kubeadm工具来初始化和管理Kubernetes集群。

4.1 初始化主节点

在主节点上执行以下命令:

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

初始化完成后,会显示一些加入集群的命令,例如:

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

4.2 配置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

5. 加入工作节点

在工作节点上执行主节点提供的加入命令,例如:

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

6. 验证集群状态

在主节点上执行以下命令,检查集群状态:

kubectl get nodes

7. 部署应用

使用kubectl命令或YAML文件部署应用。例如,部署一个简单的Nginx应用:

7.1 创建Deployment

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-deployment.yaml,然后执行:

kubectl apply -f nginx-deployment.yaml

7.2 创建Service

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

保存为nginx-service.yaml,然后执行:

kubectl apply -f nginx-service.yaml

8. 访问应用

等待Service的External IP地址分配完成,然后通过浏览器访问该IP地址即可看到Nginx应用。

9. 清理

如果需要删除集群,可以在主节点上执行以下命令:

sudo kubeadm reset

以上步骤涵盖了在CentOS上部署Kubernetes集群的基本流程。根据实际需求,可能还需要进行更多的配置和优化。

0