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 测试了服务的可达性,确保其按预期工作。
相关推荐
不老刘1 天前
【Java入门】Java服务部署方式全景对比:从java -jar到K8s
java·kubernetes·jar
mit6.8241 天前
AKS--Azure Managed Kubernetes
kubernetes·flask·azure
爱莉希雅&&&1 天前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
维核科技1 天前
大模型私有化部署:Docker与Kubernetes实战避坑
docker·容器·kubernetes
SLD_Allen2 天前
Kubernetes + Ray + Volcano:云原生AI训练调度体系
人工智能·云原生·kubernetes
A-刘晨阳2 天前
Kubernetes 非共享存储详解:emptyDir 与 hostPath 从入门到实践
运维·云原生·容器·kubernetes·hostpath·emptydir
2401_834636992 天前
K8s 控制器全解:Deployment/DaemonSet/Job/CronJob+Service 服务发现实战宝典
容器·kubernetes·服务发现
风曦Kisaki2 天前
# Kubernetes(K8s)笔记Day15:K8s网络工作原理【Pod 网络模型,CNI 网络插件,Calico 工作模式详解,BGP协议,路由反射器】
运维·网络·nginx·云原生·容器·kubernetes
明王明王2 天前
从零搭建一个单节点 K8S 可观测实验室(七):从一次 Pod 创建过程,看懂 Kubernetes 核心原理
云原生·容器·kubernetes
云川之下2 天前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes