- Service
- k8s网络架构:⭐⭐⭐⭐⭐
- clusterIP示例:
- NodePort示例:
- ExternalName 示例
- LoadBalancer
- Ingress
共有四种不同IP的port,根据实际情况,通过设置端口的映射,设置不同的访问权限
apiVersion: v1 kind: Service metadata: name: canary-test namespace: default spec: selector: app: canary-nginx clusterIP: None # 这一项是可选项,type 一定要是 CluesterIP才能用 ## None 不要给这个SVC分配IP,在pod内是使用域名访问,pod外不能访问,称为headless service无头服务,配合有状态副本集StatefulSet使用 ## 也可以指定IP,如10.96.xx.xx type: ClusterIP ## NodePort #每个节点所在机器都开这个端口,浏览器可以通过每个节点的IP+暴漏的端口访问,并且相当于访问的是负载均衡网络 ## ClusterIP: 不写type,默认就是这个,指的是,当前Service在集群内可以被所有人发现,默认给这个service分配一个集群内网络 ## podcidr: pod的子网范围 svcdi: service的子网范围 ports: - name: abc ## 随便起名,无所谓 port: 80 # service 端口 targetPort: 8080 # pod 端口 - name: redis ## 随便起名,无所谓 port: 99 # service 端口 targetPort: 6379 # pod 端口NodePort示例:
apiVersion: v1 kind: Service metadata: name: canary-test namespace: default spec: selector: app: canary-nginx type: NodePort ports: - name: abc ## 随便起名,无所谓 port: 80 # service 端口 targetPort: 8080 # pod 端口 - name: redis ## 随便起名,无所谓 port: 99 # service 端口 targetPort: 6379 # pod 端口 nodePort: 30088 # type要是NodePort才能用,所有集群中的机器都打开这个端口,暴漏给外界,没写就自动指定,访问任意一台机器,都能访问到Service代理的pod
kubectl get svc查看
apiVersion: v1 kind: Service metadata: name: external-test namespace: default spec: type: ExternalName externalName: baidu.comLoadBalancer
请求云服务商提供负载均衡器
一般不用
高并发,生产可用k8s完整网络架构
Ingress-nginx需要安装才能使用:非官方文档,二次修改
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)