阶段七:Kubernetes 容器编排之工作负载控制器与 Service
0. 执行前置条件与本章约定
本章默认 Kubernetes v1.28+。生产执行前必须确认当前上下文、服务端版本、目标命名空间、StorageClass、IngressClass、域名和 TLS Secret;default、nfs-storage、example.com、workload-tls 都是占位符。
# 确认集群、版本和节点
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 -
# 检查存储、Ingress 和证书前提
kubectl get storageclass
kubectl get ingressclass
kubectl get secret "${TLS_SECRET:-workload-tls}" -n "$NAMESPACE" -o jsonpath='{.type}{"\\n"}'命令作用:
- 读取或修改本机 kubeconfig;它影响 kubectl 默认连接的集群、身份和命名空间。
- 执行 kubectl 的
version子命令;请以命令中写出的资源类型、资源名、命名空间和选项确定实际影响范围。
- 查询节点列表及 Ready 状态,确认节点可以参与调度。
- 创建命令指定的 Kubernetes 资源;同名资源已存在时通常会失败。
- 查询 Kubernetes
storageclass资源列表,并根据命令参数限定命名空间或输出字段。
- 查询 Kubernetes
ingressclass资源列表,并根据命令参数限定命名空间或输出字段。
- 查询 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`,用于精确控制命令行为。 |
**注意事项:**