题目主干

Task
请重新配置现有的deployment front-end 以及添加名为http的端口规范来公开现有容器 nginx 的端口80/tcp。
创建一个名为front-end-svc的新service,以公开容器端口http。
配置此service,以通过各个Pod所在的节点上的 NodePort 来公开他们。

参考说明

https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/

题目解答

通过kubectl edit deploy进行编辑deployment

  1. student@master01:~$ kubectl edit deploy front-end

image.png
编辑完成后查看状态

  1. student@master01:~$ kubectl get deployments.apps front-end
  2. NAME READY UP-TO-DATE AVAILABLE AGE
  3. front-end 1/1 1 1 70d
  4. student@master01:~$

服务暴露

  1. student@master01:~$ kubectl expose deployment front-end --type=NodePort --port=80 --target-port=80 --name=front-end-svc
  2. service/front-end-svc exposed
  3. student@master01:~$
  4. student@master01:~$ kubectl get svc
  5. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  6. front-end-svc NodePort 10.105.49.226 <none> 80:32342/TCP 42s
  7. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 72d
  8. student@master01:~$
  9. student@master01:~$ curl 10.105.49.226 32342
  10. Hello World ^_^

这里的—name指定的是服务的名称