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 测试了服务的可达性,确保其按预期工作。
相关推荐
李彦亮老师(本人)几秒前
【Linux系统】Rocky Linux 9.7操作系统简介
linux·运维·服务器·docker·kubernetes
DynamicsAgg1 小时前
企业数字化底座-k8s企业实践系列第二篇pod创建调度
java·容器·kubernetes
T1an-12 小时前
Docker + K8s:现代开发的“标配”
docker·容器·kubernetes
国医中兴11 小时前
分布式存储的缓存优化:从理论到实践
微服务·云原生·容器·kubernetes·k8s
qq_297574671 天前
K8s系列第十三篇:K8s 监控告警实战:Prometheus + Grafana 部署与配置
kubernetes·grafana·prometheus
Brandon汐1 天前
从0开始搭建一主两节点k8s集群对接Ceph集群
ceph·容器·kubernetes
小Pawn爷1 天前
实战演练:玩转k8s
云原生·容器·kubernetes
清水白石0081 天前
Python 服务优雅停机实战:信号处理、资源收尾与 Kubernetes 滚动发布避坑指南
python·kubernetes·信号处理
.柒宇.2 天前
基于 RHEL 9.7 搭建 Kubernetes v1.34 集群实战:Docker 运行时 (cri-dockerd) 与国内源配置详解
docker·云原生·容器·kubernetes·kubelet