Content #
Service生成不用命令 kubectl create,而是 kubectl expose。 kubectl expose 支持从 Pod、Deployment、DaemonSet 创建服务。
使用 kubectl expose 指令时还需要用参数 –port 和 –target-port 分别指定映射端口和容器端口,而 Service 自己的 IP 地址和后端 Pod 的 IP 地址可以自动生成。
export out="--dry-run=client -o yaml"
kubectl expose deploy ngx-dep --port=80 --target-port=80 $out
生成的 Service YAML 大概是这样的:
apiVersion: v1
kind: Service
metadata:
name: ngx-svc
spec:
selector:
app: ngx-dep
ports:
- port: 80
targetPort: 80
protocol: TCP