ClusterIP
ClusterIP服务是k8s默认的服务。给你一个集群内的服务,集群内的其他应用都可以访问该服务,集群外部无法访问它。
ClusterIP服务的yaml文件类似如下:
apiVersion: v1
kind: Service
metadata:
name: my-internal-service
selector:
app: my-app
spec:
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
如果从Internet无法访问ClusterIP服务,那么我们可以通过kubernetes的proxy模式来访问该服务
启动kubernetes proxy模式
kubectl proxy --port=8080
使用环境:服务无法暴露到internet上。
NodePort
NodePort 服务是引导外部流量到你的服务的最原始方式。NodePort,正如这个名字所示,在所有节点(虚拟机)上开放一个特定端口,任何发送到该端口的流量都被转发到对应服务。
NodePort服务的yaml文件类似如下