Kubernetes Pod 详解与Rancher 部署

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • [Kubernetes Pod 详解:](#Kubernetes Pod 详解:)
    • [一、Pod 基础概念:K8s 的「最小运行单元」](#一、Pod 基础概念:K8s 的「最小运行单元」)
      • [1. 什么是 Pod?](#1. 什么是 Pod?)
      • [2. Pod 的核心特性](#2. Pod 的核心特性)
    • [二、Pod 的 3 类核心容器:各司其职](#二、Pod 的 3 类核心容器:各司其职)
      • [1. 基础容器(Infrastructure Container):Pod 的「地基」](#1. 基础容器(Infrastructure Container):Pod 的「地基」)
      • [2. 初始化容器(Init Containers):启动前的「准备工作」](#2. 初始化容器(Init Containers):启动前的「准备工作」)
        • [实战示例:Init 容器等待依赖服务启动](#实战示例:Init 容器等待依赖服务启动)
      • [3. 应用容器(Main Containers):Pod 的「核心业务」](#3. 应用容器(Main Containers):Pod 的「核心业务」)
        • [示例 1:单容器 Pod(最常用)](#示例 1:单容器 Pod(最常用))
        • [示例 2:多容器 Pod(应用 + 日志收集)](#示例 2:多容器 Pod(应用 + 日志收集))
    • [三、Pod 的共享资源:网络与存储](#三、Pod 的共享资源:网络与存储)
      • [1. 网络共享:一个 Pod 一个 IP](#1. 网络共享:一个 Pod 一个 IP)
      • [2. 存储共享:Volume 持久化数据](#2. 存储共享:Volume 持久化数据)
        • [示例:Pod 内容器共享 Volume](#示例:Pod 内容器共享 Volume)
    • [四、Pod 的类型与使用场景](#四、Pod 的类型与使用场景)
      • [1. Pod 的两种类型](#1. Pod 的两种类型)
      • [2. 常见使用场景](#2. 常见使用场景)
    • [五、关键配置 1:镜像拉取策略(imagePullPolicy)](#五、关键配置 1:镜像拉取策略(imagePullPolicy))
      • 三种拉取策略
      • [实战示例:测试 Always 策略](#实战示例:测试 Always 策略)
    • [六、关键配置 2:重启策略(restartPolicy)](#六、关键配置 2:重启策略(restartPolicy))
      • 三种重启策略
      • [实战示例:测试 OnFailure 与 Never 策略](#实战示例:测试 OnFailure 与 Never 策略)
    • [七、Pod 常见状态解读](#七、Pod 常见状态解读)
  • [八、Rancher 定义及部署指南](#八、Rancher 定义及部署指南)
    • [1. 什么是 Rancher](#1. 什么是 Rancher)
    • [2. Rancher 部署及配置](#2. Rancher 部署及配置)
      • [2.1 实验环境](#2.1 实验环境)
      • [2.2 安装 Rancher](#2.2 安装 Rancher)
      • [2.3 登录 Rancher 平台](#2.3 登录 Rancher 平台)
      • [2.4 Rancher 管理已存在的 k8s 集群](#2.4 Rancher 管理已存在的 k8s 集群)
      • [2.5 Rancher 部署监控系统](#2.5 Rancher 部署监控系统)
      • [2.6 使用 Rancher 仪表盘管理 k8s 集群(以创建 nginx 服务为例)](#2.6 使用 Rancher 仪表盘管理 k8s 集群(以创建 nginx 服务为例))
        • [2.6.1 创建名称空间(Namespace)](#2.6.1 创建名称空间(Namespace))
        • [2.6.2 创建 Deployment 资源](#2.6.2 创建 Deployment 资源)
        • [2.6.3 创建 Service 资源](#2.6.3 创建 Service 资源)
    • 八、总结:

前言


Kubernetes Pod 详解:

作为 Kubernetes(简称 K8s)中最小的部署单元,Pod 是所有容器化应用运行的基础------无论是简单的单容器应用,还是多容器协同的复杂服务,最终都会以 Pod 的形式在 K8s 集群中部署。本文将从基础概念、核心特性、关键配置到实战案例,带你彻底搞懂 Pod,新手也能轻松上手~

一、Pod 基础概念:K8s 的「最小运行单元」

1. 什么是 Pod?

Pod 是 K8s 集群中最小的、可调度的部署单元,它本质是一个「容器组」,代表集群中的一个运行进程。可以把 Pod 理解为「容器的包装壳」:

  • 一个 Pod 可包含 1 个或多个紧密耦合的容器(比如应用容器 + 日志收集容器);
  • Pod 内所有容器共享网络命名空间存储资源,协作完成特定任务;
  • Pod 是短暂的(瞬时性),生命周期结束后会被销毁,而非修复(通常由 Deployment 等控制器管理重建)。

2. Pod 的核心特性

  1. 最小部署单元:K8s 不会直接调度容器,而是调度 Pod,容器必须依赖 Pod 才能运行;
  2. 容器集合:支持单容器或多容器组合,多容器场景适用于「紧密耦合、需要协同工作」的服务(比如应用容器 + 侧车容器);
  3. 资源共享 :Pod 内所有容器共用一个 IP 地址和端口空间,可通过 localhost 直接通信;同时共享指定的存储卷(Volume),数据不会因容器重启丢失;
  4. 短暂性:Pod 本身没有自愈能力,若所在节点故障或容器异常退出,未被控制器管理的 Pod 会直接删除,无法自动恢复。

二、Pod 的 3 类核心容器:各司其职

一个 Pod 中的容器并非孤立存在,而是按功能分为「基础容器、初始化容器、应用容器」三类,协同完成 Pod 的启动和运行。

1. 基础容器(Infrastructure Container):Pod 的「地基」

每个 Pod 启动时,K8s 会自动创建一个 Pause 容器(也叫基础容器),它是 Pod 的「底层支撑」,用户无需手动配置:

  • 核心作用:提供 Pod 的 Linux 命名空间(网络、存储)基础,让其他容器能共享网络和存储资源;

  • 默认镜像 :K8s 内置镜像(比如 registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0);

  • 查看方式 :在节点上执行以下命令,可看到所有 Pod 对应的 Pause 容器:

    bash 复制代码
    # 列出所有容器,过滤 pause 关键字
    docker ps -a | grep pause
    # 输出示例:registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 "/pause"

2. 初始化容器(Init Containers):启动前的「准备工作」

Init 容器是 Pod 启动过程中先于应用容器执行的特殊容器,负责初始化任务(比如等待依赖服务启动、配置环境变量):

  • 启动规则
    1. 按配置顺序依次执行,前一个 Init 容器成功退出后,下一个才会启动;
    2. 必须全部成功完成,应用容器才会启动;若 Init 容器失败,K8s 会根据 Pod 重启策略重试;
  • 核心作用
    • 执行应用容器中没有的工具(比如 seddig),避免污染应用镜像;
    • 延迟应用容器启动,直到依赖条件满足(比如等待数据库、缓存服务就绪);
    • 可访问 Secrets 资源,而应用容器无法访问,提升安全性。
实战示例:Init 容器等待依赖服务启动
yaml 复制代码
# 文件名:myapp-pod.yaml
apiVersion: v1  # K8s API 版本
kind: Pod       # 资源类型为 Pod
metadata:
  name: myapp-pod  # Pod 名称
  labels:
    app: myapp     # 标签,用于关联 Service
spec:
  # 应用容器:主服务
  containers:
  - name: myapp-container  # 容器名称
    image: busybox:1.28    # 容器镜像
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']  # 启动后执行的命令(休眠3600秒)
  # Init 容器:先等待 myservice 和 mydb 服务启动
  initContainers:
  - name: init-myservice  # 第一个 Init 容器:等待 myservice 服务
    image: busybox:1.28
    # 循环查询 myservice 服务,直到查询成功(nslookup 是DNS查询命令)
    command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
  - name: init-mydb       # 第二个 Init 容器:等待 mydb 服务
    image: busybox:1.28
    command: ['sh', '-c', 'until nslookup mydb; do echo waiting for mydb; sleep 2; done;']

执行步骤与解释

bash 复制代码
# 1. 创建 Pod(此时 Init 容器会卡住,等待 myservice 和 mydb 服务)
kubectl apply -f myapp-pod.yaml

# 2. 查看 Pod 状态(会显示 Pending/Initializing,因为 Init 容器未完成)
kubectl get pods
# 输出示例:myapp-pod   0/1     Init:0/2   0          10s

# 3. 查看 Init 容器日志(确认等待状态)
kubectl logs myapp-pod -c init-myservice  # -c 指定容器名称
# 输出示例:waiting for myservice

# 4. 创建依赖的 myservice 服务
cat > myservice.yaml << EOF
apiVersion: v1
kind: Service
metadata:
  name: myservice  # 服务名称,与 Init 容器查询的一致
spec:
  ports:
  - protocol: TCP
    port: 80        # 服务端口
    targetPort: 9376 # 目标容器端口
EOF
kubectl apply -f myservice.yaml

# 5. 创建依赖的 mydb 服务
cat > mydb.yaml << EOF
apiVersion: v1
kind: Service
metadata:
  name: mydb  # 服务名称,与 Init 容器查询的一致
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 9377
EOF
kubectl apply -f mydb.yaml

# 6. 再次查看 Pod 状态(Init 容器完成,应用容器启动,状态变为 Running)
kubectl get pods
# 输出示例:myapp-pod   1/1     Running   0          30s

3. 应用容器(Main Containers):Pod 的「核心业务」

应用容器是 Pod 中真正运行业务逻辑的容器,也是用户最常配置的部分:

  • 启动规则 :所有 Init 容器成功后,应用容器会并行启动
  • 核心特性:每个应用容器有独立的镜像、命令、端口配置,共享 Pod 的网络和存储;
  • 常见类型:单容器 Pod(最常用,一个 Pod 对应一个应用容器)、多容器 Pod(紧密耦合的服务,比如应用 + 日志收集)。
示例 1:单容器 Pod(最常用)
yaml 复制代码
# 文件名:single-container-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: single-container-pod  # Pod 名称
spec:
  containers:
  - name: nginx  # 容器名称
    image: nginx:1.14  # 容器镜像(Nginx 1.14 版本)

执行命令

bash 复制代码
# 创建 Pod
kubectl apply -f single-container-pod.yaml

# 查看 Pod 状态(Running 表示启动成功)
kubectl get pods -o wide  # -o wide 显示详细信息(IP、运行节点)
示例 2:多容器 Pod(应用 + 日志收集)
yaml 复制代码
# 文件名:multi-container-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: multi-container-pod
spec:
  containers:
  - name: app  # 应用容器(假设是业务服务)
    image: my-app:latest  # 业务镜像
  - name: sidecar  # 侧车容器(日志收集,比如 Filebeat)
    image: log-collector:latest  # 日志收集镜像

三、Pod 的共享资源:网络与存储

Pod 内的容器之所以能协同工作,核心是共享「网络」和「存储」资源,无需额外配置通信方式。

1. 网络共享:一个 Pod 一个 IP

  • 每个 Pod 会被 K8s 分配一个唯一的集群内 IP 地址
  • Pod 内所有容器共享这个 IP 和端口空间,可通过 localhost:端口 直接通信(比如应用容器在 80 端口,日志容器可通过 localhost:80 采集日志);
  • Pod 与外界通信时,需通过 Service(比如 NodePort、LoadBalancer)做端口映射,外界无法直接访问 Pod 的 IP(Pod 重启后 IP 会变化)。

2. 存储共享:Volume 持久化数据

  • Pod 可配置多个「共享存储卷(Volume)」,所有容器都能读写该 Volume;
  • Volume 独立于容器生命周期,即使容器重启或重建,Volume 中的数据也不会丢失;
  • 常见 Volume 类型:hostPath(挂载节点本地目录)、NFS(网络存储)、ConfigMap/Secrets(配置存储)。
示例:Pod 内容器共享 Volume
yaml 复制代码
apiVersion: v1
kind: Pod
metadata:
  name: shared-volume-pod
spec:
  containers:
  - name: app
    image: busybox:1.28
    command: ['sh', '-c', 'echo "hello from app" > /data/app.log && sleep 3600']
    volumeMounts:
    - name: shared-data  # 挂载名称(与下面 volumes 对应)
      mountPath: /data   # 容器内挂载路径
  - name: sidecar
    image: busybox:1.28
    command: ['sh', '-c', 'cat /data/app.log && sleep 3600']  # 读取 app 写入的文件
    volumeMounts:
    - name: shared-data
      mountPath: /data
  volumes:  # 定义共享 Volume
  - name: shared-data
    hostPath:
      path: /tmp/shared  # 节点上的本地目录(容器共享该目录)
      type: DirectoryOrCreate  # 目录不存在则自动创建

四、Pod 的类型与使用场景

1. Pod 的两种类型

类型 特点 适用场景
自主式 Pod(裸 Pod) 无自愈能力,节点故障或容器退出后不会重建 测试、临时任务
控制器管理的 Pod 由 Deployment/StatefulSet 等控制器管理,支持副本扩展、滚动升级、自动修复 生产环境所有业务服务

注意:生产环境禁止使用自主式 Pod,因为无法保证服务可用性,必须通过控制器管理。

2. 常见使用场景

  • 单进程应用:最普遍的场景(比如 Nginx、MySQL),一个 Pod 对应一个应用容器,通过 Deployment 管理副本数;
  • 多进程协作:紧密耦合的服务(比如应用 + 日志收集、应用 + 配置同步),多容器共享网络和存储,避免跨 Pod 通信的延迟。

五、关键配置 1:镜像拉取策略(imagePullPolicy)

Pod 启动时,K8s 会根据「镜像拉取策略」决定是否从镜像仓库拉取镜像,核心配置字段:imagePullPolicy

三种拉取策略

策略 行为描述 适用场景
IfNotPresent 本地有镜像则直接使用,本地没有则拉取(默认) 生产环境(避免重复拉取,节省时间)
Always 每次启动 Pod 都强制从仓库拉取最新镜像 开发环境(实时获取最新代码)
Never 只使用本地镜像,不主动拉取(本地没有则报错) 离线环境、测试环境(固定镜像版本)

实战示例:测试 Always 策略

yaml 复制代码
# 文件名:pod1.yaml
apiVersion: v1
kind: Pod
metadata:
  name: pod-test1  # Pod 名称
spec:
  containers:
  - name: nginx  # 容器名称
    image: nginx:1.14  # 镜像版本固定为 1.14
    imagePullPolicy: Always  # 每次启动都拉取镜像
    # command: [ "echo", "SUCCESS" ]  # 注释:若打开,执行完 echo 进程退出,容器会重启

执行步骤与解释

bash 复制代码
# 1. 创建 Pod
kubectl apply -f pod1.yaml

# 2. 查看 Pod 状态(Running 表示成功,若打开 command 会显示 CrashLoopBackoff)
kubectl get pods -o wide
# 输出示例:pod-test1   1/1     Running   0          2m

# 3. 查看镜像拉取日志(确认 Always 策略生效)
kubectl describe pod pod-test1 | grep Pulled
# 输出示例:Normal  Pulled  3m  kubelet  Successfully pulled image "nginx:1.14"

# 4. 若修改镜像版本(比如 nginx:1.15),重新应用后会拉取新镜像
kubectl edit pod pod-test1  # 编辑 Pod 配置,修改 image 为 nginx:1.15
kubectl describe pod pod-test1 | grep Pulled  # 会显示拉取 nginx:1.15 的日志

六、关键配置 2:重启策略(restartPolicy)

重启策略定义了「容器退出后,K8s 如何处理容器重启」,核心配置字段:restartPolicy(与 containers 同级)。

三种重启策略

策略 行为描述 适用场景
Always 无论容器退出码是什么,都自动重启(默认) 生产环境服务(保证可用性)
OnFailure 只有容器非正常退出(退出码非 0)时才重启 批处理任务(正常结束后不重启)
Never 容器退出后不重启 测试任务、一次性任务

实战示例:测试 OnFailure 与 Never 策略

yaml 复制代码
# 文件名:pod3.yaml
apiVersion: v1
kind: Pod
metadata:
  name: foo
spec:
  containers:
  - name: busybox
    image: busybox
    args: ['/bin/sh', '-c', 'sleep 30; exit 3']  # 休眠30秒后,以退出码 3 非正常退出
  restartPolicy: OnFailure  # 非正常退出时重启(改为 Never 则不重启)

执行步骤与解释

bash 复制代码
# 1. 创建 Pod
kubectl apply -f pod3.yaml

# 2. 实时查看 Pod 状态(30秒后容器退出,会自动重启)
kubectl get pods -w
# 输出示例:
# foo   1/1     Running   0          10s
# foo   0/1     Error     0          30s  # 30秒后退出,状态变为 Error
# foo   1/1     Running   1          35s  # OnFailure 策略触发重启,RESTARTS 变为 1

# 3. 修改重启策略为 Never,重新测试
kubectl edit pod foo  # 将 restartPolicy 改为 Never
kubectl delete -f pod3.yaml && kubectl apply -f pod3.yaml
kubectl get pods -w
# 输出示例:
# foo   1/1     Running   0          10s
# foo   0/1     Error     0          30s  # 退出后不会重启,状态保持 Error

七、Pod 常见状态解读

Pod 生命周期中会有多种状态,核心状态如下:

状态 含义 排查方向
Pending Pod 已被 K8s 接收,但容器未启动(调度中/拉镜像) 检查节点资源、镜像是否存在
Running Pod 已调度到节点,至少一个容器在运行 正常状态,可通过 logs 查看容器日志
CrashLoopBackoff 容器启动后立即退出,不断重启 检查容器命令、配置文件、依赖服务
Error 容器启动失败(比如镜像不存在、权限不足) 执行 kubectl describe pod 名称 查看错误日志
Succeeded 所有容器正常退出(退出码 0),不会重启 一次性任务执行完成
Unknown 无法获取 Pod 状态(通信故障) 检查节点是否正常、K8s 组件状态

八、Rancher 定义及部署指南

1. 什么是 Rancher

Rancher 是一款开源的企业级多集群 Kubernetes(简称 k8s)管理平台,核心作用是实现 Kubernetes 集群在混合云与本地数据中心的集中部署与管理,能够保障集群安全性,助力企业加速数字化转型。目前已有超过 40000 家企业日常使用 Rancher 开展创新工作。

从功能特性来看,Rancher 与 k8s 均属于容器调度与编排系统,但 Rancher 具备更广泛的管理能力:不仅能管理应用容器,更核心的优势是可以管理 k8s 集群。其 2.x 版本底层基于 k8s 调度引擎,通过封装简化了操作流程,让不熟悉 k8s 概念的用户也能轻松通过 Rancher 向 k8s 集群部署容器。

Rancher 官网:https://docs.rancher.cn/

2. Rancher 部署及配置

2.1 实验环境

节点类型 节点名称 IP 地址
控制节点 master01 192.168.10.19
工作节点 node01 192.168.10.20
工作节点 node02 192.168.10.21
Rancher 节点 rancher 192.168.10.23

2.2 安装 Rancher

  1. 在控制节点 master01 下载 rancher-agent 镜像:
bash 复制代码
docker pull rancher/rancher-agent:v2.5.7
  1. 在 Rancher 节点下载 rancher 镜像并启动容器:
bash 复制代码
# 下载镜像
docker pull rancher/rancher:v2.5.7
# 启动容器(--restart=unless-stopped 表示容器退出时自动重启,排除 Docker 守护进程启动前已停止的情况)
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
# 验证容器是否启动成功
docker ps -a|grep rancher

成功启动后会显示类似如下结果:

复制代码
1326da432b17   rancher/rancher:v2.5.7   "entrypoint.sh"   13 seconds ago   Up 13 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher

2.3 登录 Rancher 平台

  1. 容器启动后需等待片刻,在浏览器访问地址:http://192.168.10.23(因未使用授信证书,会出现报警提示,直接忽略即可);
  2. 若登录后为英文页面,点击右下角语言选项切换为中文。

2.4 Rancher 管理已存在的 k8s 集群

  1. 登录后选择【添加集群】,点击【导入】;
  2. 【集群名称】设置为 k8s-cluster,点击【创建】;
  3. 复制页面中第三条"绕过证书检查导入 k8s 集群"的命令;
  4. 在 k8s 控制节点 master01 上执行复制的命令(若第一次执行报错,再次执行即可):
bash 复制代码
curl --insecure -sfL https://192.168.10.23/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -
  1. 验证集群导入结果:
bash 复制代码
# 查看命名空间(应出现 cattle-system、fleet-system 等命名空间)
kubectl get ns
# 查看 cattle-system 命名空间下的 Pod 状态
kubectl get pods -n cattle-system -o wide
# 查看 fleet-system 命名空间下的 Pod 状态
kubectl get pods -n fleet-system -o wide

正常情况下,相关 Pod 状态会显示为"Running",类似如下结果:

复制代码
# cattle-system 命名空间 Pod 示例
NAME                                    READY   STATUS    RESTARTS   AGE    IP           NODE     NOMINATED NODE   READINESS GATES
cattle-cluster-agent-78647b4ff8-fbqdp   1/1     Running   0          2m1s   10.244.1.4   node01   <none>           <none>

# fleet-system 命名空间 Pod 示例
NAME                           READY   STATUS    RESTARTS   AGE    IP           NODE     NOMINATED NODE   READINESS GATES
fleet-agent-55bfc495bd-m9qjt   1/1     Running   0          6m8s   10.244.1.3   node01   <none>           <none>

2.5 Rancher 部署监控系统

  1. 在 Rancher 集群页面点击【启用监控以查看实时监控】;
  2. 【监控组件版本】选择 0.2.1,其他参数保持默认;
  3. 点击【启用监控】,启动过程需等待约 10 分钟(因组件部署耗时较长)。

2.6 使用 Rancher 仪表盘管理 k8s 集群(以创建 nginx 服务为例)

2.6.1 创建名称空间(Namespace)
  1. 点击【仪表盘】进入 k8s 集群仪表盘界面;
  2. 左侧菜单选择【Namespaces】,点击右侧【Create】;
  3. 【Name】输入 dev,【Description】为可选自定义内容;
  4. 点击右下角【Create】完成创建。
2.6.2 创建 Deployment 资源
  1. 左侧菜单选择【Deployments】,点击右侧【Create】;
  2. 【Namespace】下拉选择 dev,【Name】输入 nginx-dev,【Replicas】输入 3;
  3. 点击中间选项【Container】,【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent;
  4. 在【Pod Labels】下点击【Add Label】,【Key】输入 app,【Value】输入 nginx;
  5. 点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 nginx;
  6. 点击右下角【Create】完成创建。
2.6.3 创建 Service 资源
  1. 左侧菜单选择【Services】,点击右侧【Create】;
  2. 选择【Node Port】类型;
  3. 【Namespace】下拉选择 dev,【Name】输入 nginx-dev;
  4. 【Port Name】输入 nginx,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 30180;
  5. 点击中间选项【Selectors】,【Key】输入 app,【Value】输入 nginx;
  6. 点击右下角【Create】完成创建;
  7. 点击创建好的【nginx-dev】服务,验证是否已关联上对应的 Pod;
  8. 通过节点端口 30180/TCP 即可访问内部的 nginx 页面。

八、总结:

  1. 本质:Pod 是 K8s 最小部署单元,是「容器的包装壳」,负责管理容器的共享资源;
  2. 容器类型:基础容器(Pause)提供底层支撑,Init 容器负责初始化,应用容器运行业务;
  3. 关键配置:镜像拉取策略(默认 IfNotPresent)、重启策略(默认 Always),根据场景灵活选择;
  4. 实战建议:生产环境用 Deployment 等控制器管理 Pod,避免裸 Pod;多容器场景仅用于紧密耦合的服务。
相关推荐
星环处相逢17 小时前
从 Pod 核心原理到 Rancher 实战:K8s 容器管理全解析
容器·kubernetes·rancher
伞啊伞17 小时前
k8s(四) Rancher 管理集群
容器·kubernetes·rancher
忍冬行者17 小时前
k8s的etcd的一键备份和故障恢复
docker·云原生·容器·kubernetes·云计算
QWsin17 小时前
【k8s】为什么statefulSet初始化pod需要service name
云原生·容器·kubernetes
lin张17 小时前
k8s(三)pod详解(精简版)
云原生·容器·kubernetes
youxiao_9018 小时前
kubernetes 插件、操作管理(二)
云原生·容器·kubernetes
huaweichenai1 天前
docker部署kkFileView实现文件预览功能
运维·docker·容器
叫致寒吧1 天前
k8s部署
云原生·容器·kubernetes
叫致寒吧1 天前
k8s操作(三)
网络·容器·kubernetes