CKAD-CN 考试知识点分享(3) 更新 Deployment 标签,并暴露 Service

您必须连接到正确的主机。不这样做可能导致零分。
[candidate@base] $ ssh ckad00017


任务目标

ckad00017 命名空间中,对 Deployment ckad00017-deployment 进行以下更新:

  1. 更新 Deployment 以运行 3 个 Pod 副本,并为这些 Pod 添加标签 tier: dmz
  2. 创建一个名为 rover 的 NodePort Service,在 TCP 端口 81 上公开该 Deployment。

步骤一:编辑 Deployment

首先,我们需要编辑 Deployment ckad00017-deployment 来设置副本数和添加标签。

使用如下命令编辑 Deployment:

bash 复制代码
kubectl -n ckad00017 edit deployments.apps ckad00017-deployment

在打开的编辑器中进行以下修改:

  • 设置副本数 :找到 spec.replicas 字段并将其值设置为 3
  • 添加标签 :在 spec.template.metadata.labels 下添加新的键值对 tier: dmz

示例片段:

yaml 复制代码
spec:
  replicas: 3
  template:
    metadata:
      labels:
        tier: dmz  # 新增标签
        # 其他现有的标签...

保存并退出编辑器,Kubernetes 将自动应用更改并滚动更新 Deployment。


步骤二:创建 NodePort Service

接下来,创建一个 NodePort 类型的服务来暴露 Deployment 在端口 81 上。

可以使用 kubectl expose 命令快速创建服务:

bash 复制代码
kubectl expose deployment -n ckad00017 ckad00017-deployment --protocol=TCP --target-port=81 --port=81 --type=NodePort --name=rover

这将创建一个名为 rover 的服务,它将通过 NodePort 类型公开 ckad00017-deployment 部署,监听 TCP 端口 81。


步骤三:验证服务是否正常工作

查看服务详情以获取分配的 NodePort(注意,NodePort 的范围通常是从 30000 到 32767):

bash 复制代码
kubectl get service rover -n ckad00017

输出示例:

复制代码
NAME    TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
rover   NodePort   10.100.200.50   <none>        81:31198/TCP     1m

在这个例子中,外部可通过任意节点的 IP 加上端口号 31198 访问服务。

执行 curl 请求测试服务是否可访问:

bash 复制代码
curl http://127.0.0.1:31198

如果一切配置正确,你应该能够看到来自 Deployment 的响应内容。


总结

  • 成功更新了 ckad00017-deployment,使其运行 3 个副本,并为所有 Pod 添加了标签 tier: dmz
  • 创建了一个名为 rover 的 NodePort 服务,它在每个集群节点的 81 端口上公开了 Deployment;
  • 使用 curl 测试了服务的可达性,确保其按预期工作。
相关推荐
hay_lee2 小时前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes
成为你的宁宁4 小时前
【K8s HPA 水平扩缩容】
kubernetes·hpa
欢醉4 小时前
k8s调度容器失败The node had condition: [DiskPressure]
kubernetes·springcloud
Hui Baby21 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
Zhu7581 天前
在k8s环境部署Apache Superset最新版
容器·kubernetes·apache
Zhu7581 天前
在k8s环境部署Apache zookeeper3.9.5,高可用,多pod
容器·kubernetes·apache
运维大师1 天前
【K8S 运维实战】07-Pod生命周期与故障排查
运维·容器·kubernetes
easy_coder2 天前
K8s Pod 创建失败深度解析:从 IPAM 400 错误到子网资源耗尽
云原生·容器·kubernetes
heimeiyingwang2 天前
【架构实战】可观测性三支柱:日志、指标、链路的融合
elasticsearch·架构·kubernetes
CodexDave2 天前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes