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 测试了服务的可达性,确保其按预期工作。
相关推荐
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美6 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
java_cj13 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
qq_4523962313 天前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
睡不醒男孩03082313 天前
云原生运维实战:高并发架构下的云原生可观测性、韧性降级与自动化干预体系
数据库·kubernetes·高并发·prometheus·devops·sre·缓存调优
qq_4523962313 天前
第十四篇:《K8s 网络模型与 CNI 插件(Calico、Flannel、Cilium)》
网络·kubernetes·php
Hadoop_Liang13 天前
Kubernetes 应用 HTTPS 安全访问配置实践
https·kubernetes