网络代理模式 服务代理 集群IP地址 发布服务 服务发现
vim service-tmp.yaml
apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: nginx ports: - name: http protocol: TCP port: 888 targetPort: 80 # 可以指定ip clusterIP: "10.10.10.123" # - name: https # protocol: TCP # port: 443 # targetPort: 9377
服务类型: ClusterIP 分配一个内部集群IP地址,只能在集群内部访问(同Namespace内的Pod),默认ServiceType。 NodePort 分配一个内部集群IP地址,并在每个节点上启用一个端口来暴露服务,可以在集群外部访问。 访问地址:<NodeIP>:<NodePort> LoadBalancer 分配一个内部集群IP地址,并在每个节点上启用一个端口来暴露服务。 除此之外,Kubernetes会请求底层云平台上的负载均衡器,将每个Node([NodeIP]:[NodePort])作为后端添加进去。 ExternalName 通过CNAME将Service与externalName的值映射。要求kube-dns的版本为v1.7+。
前提是deployment已经创建
vim nginx-service2.yaml
apiVersion: v1 kind: Service metadata: name: nginx-service labels: app: nginx spec: selector: app: nginx ports: - name: http port: 8080 targetPort: 80 nodePort: 30001 type: NodePort