答案是通了一半,即通过k8s启动的容器是可以访问pipework设置的容器的内网IP和外网IP,但是反过来不行,pipework设置的容器是不能访问k8s启动的容器的,虽然是这样,但是不影响我们一般的需求,因为我们一般通过k8s启动的容器是web应用,通过pipework设置固定IP的是数据库之类,刚好可以满足从web应用访问数据库的需求
暴露service
kubectl expose rc nginx --port=80 --container-port=9090 --external-ip=x.x.x.168
port参数是容器的端口,因为nginx使用的80,所以这里必须是80
container-port和target-port是一个意思,指的是宿主机转发的端口,可以随意指定一个,也可以不指定
external-ip指的是对外暴露的ip地址,一般用公网IP地址,执行那个命令过后,我们就可以在公���上访问了,但是这里有个问题就是这个IP地址必须是安装了k8s的机器的IP,如果你随便用一个IP是不能访问的,这里也给应用上造成了不便
查看service
kubectl get svc
可以看到CLUSTER_IP和EXTERNAL_IP
后续的问题
如果用k8s做负载均衡的话,效率会怎样?怎么保持session?
由于现在k8s还不是很稳定,可能还不是很适合上生产环境