温馨提示×

k8s部署centos步骤有哪些

小樊
46
2026-10-26 20:51:12
栏目: 智能运维

在 Kubernetes(k8s)里“部署 CentOS” 通常不是把 CentOS 当宿主机系统装进 k8s,而是 以 CentOS 为基础镜像,启动一个 Pod / Deployment,用来跑一些需要 CentOS 环境的任务(比如编译、测试、运维工具)。

下面按常见使用场景给你说明步骤。


一、前提条件

确保你已经具备:

  • 一个可用的 Kubernetes 集群(kubeadm / 云厂商 / minikube 均可)
  • 已配置好 kubectl
  • 集群能拉取镜像(或已配置私有镜像仓库)

二、方式一:直接跑一个 CentOS Pod(最常用)

1️⃣ 编写 YAML 文件

apiVersion: v1
kind: Pod
metadata:
  name: centos-pod
spec:
  containers:
  - name: centos
    image: centos:7
    command: ["sleep", "infinity"]

sleep infinity 是为了让 Pod 不退出

2️⃣ 创建 Pod

kubectl apply -f centos-pod.yaml

3️⃣ 进入 CentOS 容器

kubectl exec -it centos-pod -- bash

✅ 现在你已经在 CentOS 环境里了


三、方式二:用 Deployment 部署 CentOS(推荐生产)

适合长期运行或需要扩展的场景。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: centos-deploy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: centos
  template:
    metadata:
      labels:
        app: centos
    spec:
      containers:
      - name: centos
        image: centos:7
        command: ["sleep", "infinity"]
kubectl apply -f centos-deploy.yaml

四、方式三:CentOS + 持久化存储(常用)

如果需要在 CentOS 里保存数据:

volumeMounts:
- name: data
  mountPath: /data
volumes:
- name: data
  persistentVolumeClaim:
    claimName: centos-pvc

五、方式四:作为“调试 / 运维 Pod”

K8s 官方也常用这种方式:

kubectl run centos --image=centos:7 --restart=Never -- sleep infinity
kubectl exec -it centos -- bash

六、注意事项(很重要)

✅ CentOS 在 k8s 里 只是容器,不是虚拟机 ✅ 没有 systemd(除非特殊配置) ✅ 不建议跑数据库、Web 服务等“正经业务” ✅ 更适合:

  • 编译环境
  • 运维工具
  • 脚本执行
  • 临时调试

七、如果你说的是“用 k8s 管理 CentOS 节点”

那是另一回事:

  • k8s 节点系统可以是 CentOS
  • 用 kubeadm init / join 安装
  • 不涉及“部署 CentOS 镜像”

如果你能告诉我:

  • 是 容器里跑 CentOS
  • 还是 用 k8s 管理 CentOS 服务器

我可以给你更精确的方案(含 YAML / 网络 / 存储)。

0 踩