4、暴露服务 service
题目:
设置配置环境:
[candidate@node-1] $ kubectl config use-context k8s
Task
请重新配置现有的 deployment front-end 以及添加名为 http 的端口规范来公开现有容器 nginx 的端口 80/tcp。
创建一个名为 front-end-svc 的新 service,以公开容器端口 http。
配置此 service,以通过各个 Pod 所在的节点上的 NodePort 来公开他们。
考点:
将现有的 deploy 暴露成 nodeport 的 service。
参考链接:
依次点击 Concepts → Workloads → Workload Resources → Deployments(看不懂英文的,可右上角翻译成中文)
https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/
解答:
更换 context
$ kubectl config use-context k8s
修改 deployment
$ kubectl edit deployment front-end
......
spec:
containers:
- image: vicuu/nginx:hello
imagePullPolicy: IfNotPresent
name: nginx #找到此位置。下文会简单说明一下 yaml 文件的格式,不懂 yaml 格式的,往下看。
ports: #添加这 4 行
- name: http
containerPort: 80
protocol: TCP
......
暴露端口
$ kubectl expose deployment front-end --type=NodePort --port=80 --target-port=80 --name=front-end-svc
检查
$ kubectl get svc front-end-svc -o wide