阶段七:Kubernetes 容器编排之工作负载控制器与 Service
0. 执行前置条件与本章约定
本章示例默认使用 Kubernetes v1.28+,资源放在环境变量 NAMESPACE 指定的命名空间。镜像、StorageClass、域名、证书和 IngressClass 都是环境相关值,生产环境必须先检查并替换,不能直接照抄 default、nfs-storage 或 latest。
0.1 集群、命名空间和入口检查
# 确认 kubectl 当前连接的集群
kubectl config current-context
# 确认服务端版本
kubectl version --short
# 确认节点可以调度
kubectl get nodes -o wide
# 设置本章命名空间并幂等创建
export NAMESPACE=${NAMESPACE:-workload-lab}
kubectl create namespace "$NAMESPACE" --dry-run=client -o yaml | kubectl apply -f -
# 检查命名空间状态
kubectl get namespace "$NAMESPACE"
# 检查可用存储和 Ingress 控制器
kubectl get storageclass
kubectl get ingressclass
kubectl get pods -A | grep -Ei 'ingress|nginx|traefik'
# 设置并检查真实域名和 TLS Secret
export DOMAIN=example.com
export TLS_SECRET=workload-tls
kubectl get secret "$TLS_SECRET" -n "$NAMESPACE" -o jsonpath='{.type}{"\\n"}'
nslookup "$DOMAIN"命令作用:
- 读取或修改本机 kubeconfig;它影响 kubectl 默认连接的集群、身份和命名空间。
- 执行 kubectl 的
version子命令;请以命令中写出的资源类型、资源名、命名空间和选项确定实际影响范围。
- 查询节点列表及 Ready 状态,确认节点可以参与调度。
- 创建命令指定的 Kubernetes 资源;同名资源已存在时通常会失败。
- 查询 Kubernetes
namespace资源列表,并根据命令参数限定命名空间或输出字段。
- 查询 Kubernetes
storageclass资源列表,并根据命令参数限定命名空间或输出字段。
- 查询 Kubernetes
ingressclass资源列表,并根据命令参数限定命名空间或输出字段。
- 查询 Pod 列表,重点查看 READY、STATUS、RESTARTS 和 AGE,判断 Pod 是否正常运行。
- 查询 Kubernetes
secret资源列表,并根据命令参数限定命名空间或输出字段。
执行结果:
- 成功后应以该命令实际输出、生成的文件或目标服务状态为准;失败时先阅读终端报错,再核对命令参数和运行环境。
- 成功后会输出指定资源的列表或概要状态。
关键参数:
注意事项:
**注意事项:**
注意事项:
通过service为pod客户端提供访问pod方法,即客户端访问pod入口
定义访问pod访问策略

应用

应用

如果是kubeadm安装,那么默认为iptables转发模式,则可使用下面的方式修改
......
**注意事项:**
Iptables:
IPVS:
Service类型分为:

**注意事项:**注意事项:
metadata: spec: selector: metadata: labels: spec: ports:
**注意事项:**注意事项:
**注意事项:**
**注意事项:**注意事项:
**注意事项:**

注意事项:
**注意事项:**
metadata:
---
metadata:
spec:
selector:
metadata:
labels:
spec:
containers:
resources:
requests:
limits:注意事项:
metadata: spec: scaleTargetRef: metrics: resource: target:
**注意事项:**
命令拆解:
| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
-f | 必看 | 指定要读取或操作的 YAML 文件。 |
注意事项:
注意事项:
压测Pod(需要安装stress工具)
**命令拆解:**
| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `--image=swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/e2e-test-images/busybox:1.29-4` | 【普通】 | 长参数 `--image` 的值是 `swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/e2e-test-images/busybox:1.29-4`,用于精确控制命令行为。 |
| `--restart=Never` | 【普通】 | 长参数 `--restart` 的值是 `Never`,用于精确控制命令行为。 |
**注意事项:**
本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。