Task
重新配置 spline-reticulator namespace 中现有的 front-end Deployment,以公开现有容器 nginx 的端口 80/tcp
创建一个名为 front-end-svc 的新 Service ,以公开容器端口 80/tcp
配置新的 Service ,以通过 NodePort 公开各个 Pod
解析:
标准的、将集群内服务暴露给外部访问的流程:先在 Deployment 中定义容器端口,再创建一个 NodePort 类型的 Service 来暴露这些端口,并让 Kubernetes 为它在每个节点上分配一个外部可访问的端口。
基础:
Action:
1、修改front-end deployment
kubectl -n spline-reticulator edit deployment front-end
pec:
containers:
- image: vicuu/nginx:hello
imagePullPolicy: IfNotPresent
name: nginx #找到此位置
**ports: #新增这 3 行 - containerPort: 80
protocol: TCP**
2、设置service的NodePort类型,暴露80端口
kubectl -n spline-reticulator expose deployment front-end --type=NodePort --port=80 --target-port=80 --name=front-end-svc
3、检查效果
kubectl -n spline-reticulator get svc front-end-svc -o wide
curl 10.109.100.207:80
exit