一、Pod访问方式
ClusterIP Service(内部)
NodePort Service(由内而外)
LoadBalance Service(外部)
Ingress(外部)
1、ClusterIP

2、NodePort

3、LoadBalance

4、Ingress

二、服务发现
Pod内服务调用:localhost:容器内应用端口
Pod间服务调用:服务名.namespace名:服务端口 (namespace名相当于域名)
外部服务调用: 负载均衡器IP:负载均衡器内映射端口或Ingress URL
1、pod间调用
创建service
vi service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
selector:
app: web_server
ports:
- protocol: TCP
port: 8080
targetPort: 80
使service生效
kubectl apply -f service.yaml
查看service

运行busybox
kubectl run busybox --rm -it --image=busybox /bin/sh
访问nginx-svc
通过IP地址访问

查看index.html

通过服务名访问
wget nginx-svc.default:8080

这就是一个K8s集群里Pod之间的访问。
2、外部访问Nginx(外部服务调用)
1)、修改yaml配置
vi service.yaml

端口为30000
2)、测试
http://192.168.127.136:30000/ 或者http://192.168.127.137:30000/

因为在虚拟机使用,使用的是192内网地址。如果是云服务器,则将外网地址替换192地址。
三、访问策略
支持的网络协议(Calico、Canal等,flannel不支持策略控制)
podSelector
ingress/egress
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!
浙公网安备 33010602011771号