阶段七:Kubernetes 容器编排之工作负载控制器与 Service

0. 执行前置条件与本章约定

本章默认 Kubernetes v1.28+。生产执行前必须确认当前上下文、服务端版本、目标命名空间、StorageClass、IngressClass、域名和 TLS Secret;defaultnfs-storageexample.comworkload-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"}'

命令作用:

执行结果:

关键参数:

注意事项:


**注意事项:**

注意事项:

通过service为pod客户端提供访问pod方法,即客户端访问pod入口

定义访问pod访问策略

image

应用

image

应用

image

如果是kubeadm安装,那么默认为iptables转发模式,则可使用下面的方式修改

......


**注意事项:**

Iptables:

IPVS:

Service类型分为:

image

**注意事项:**

注意事项:

metadata: spec: selector: metadata: labels: spec: ports:


**注意事项:**

注意事项:


**注意事项:**

**注意事项:**

注意事项:


**注意事项:**





![](/assets/feishu-images/11706d7008c366fefc0fc9cc.png)

注意事项:


**注意事项:**








metadata:

metadata:
spec:
  selector:
    metadata:
      labels:
    spec:
      containers:
        resources:
          requests:
          limits:

注意事项:

metadata: spec: scaleTargetRef: metrics: resource: target:


**注意事项:**



![](/assets/feishu-images/2ffe743fb37b764e4cfe696f.png)

命令拆解:

命令部分重要程度详细解释
-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`,用于精确控制命令行为。 |

**注意事项:**
image