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 测试了服务的可达性,确保其按预期工作。
相关推荐
victory04316 小时前
K8S NFS 静态配置和动态配置 StorageClass
云原生·容器·kubernetes
运维 小白6 小时前
k8s 部署NFS和动态供应器
云原生·容器·kubernetes
hweiyu008 小时前
Docker(K8S)容器架构教程(视频教程)
docker·架构·kubernetes
summer_west_fish12 小时前
K8S Base: CrashLoopBackOff
云原生·容器·kubernetes
和光同尘202315 小时前
使用Rancher快速部署K8S集群
docker·云原生·容器·kubernetes·centos·rancher·虚拟机
南方以南_18 小时前
CKA07--Argo CD
运维·kubernetes·k8s
weixin_462446231 天前
ubuntu/kali安装k8s
linux·ubuntu·kubernetes
MichaelCoCoQ1 天前
Zabbix监控K8S的PV卷
容器·kubernetes·负载均衡·zabbix·运维开发
似水流年 光阴已逝1 天前
k8s中的StatefulSet 控制器
云原生·容器·kubernetes
chen_note1 天前
K8s的标签应用和调度
云原生·容器·kubernetes·标签·污点与容忍度