- expose将一个资源(replication controller、service、deployment和pod)作为新的K8s服务。
- expose按名称查找deployment、service、RS、RC或pod,并将该资源的选择器用作指定端口上新服务的选择器。deployment或RS只有当其选择器可转换为服务支持的选择器时,即当选择器仅包含matchLabels组件时,才会暴露为服务。
kubectl expose rc nginx --port=80 --target-port=8000
- port表示Service暴露在Cluster IP上的端口,:port提供给集群内部访问的Service的入口
- targetPort是Pod上的端口,数据从port或者nodePort流入,经过kube-proxy最后到Pod的targetPort上进入容器
kubectl expose -f nginx-controller.yaml --port=80 --target-port=8000
- 使用nginx-controller.yaml中定义的类型和名称创建一个RC服务,该服务在端口80上运行,并连接到容器的8000端口
kubectl expose service nginx --port=443 --target-port=8443 --name=nginx-https
- 将容器端口8443显示为端口443,命名为"nginx-https"
kubectl expose deployment nginx --port=80 --target-port=8000
- 为nginx deployment创建服务,该服务在端口80上运行,并连接到容器的8000端口上