如何对外提供服务
以下为您演示如何通过LoadBalancer方式公网访问您的服务。需通过登录集群后台操作,用kubectl命令来操作允许公网访问。
⚠️ 注意
公网IP为计费资源,如不再使用,请及时释放!
操作步骤
⚠️ 注意
对外提供服务需要您登录集群,通过后台操作。集群连接请参考:连接集群
- 编辑需要提供公网访问的服务。下述演示通过LoadBalancer,为
demo1分配公网ip访问服务 。
bash
demo@demoMacBook-Pro % kubectl get containerservers.apps.ebcloud.com
NAME STATUS AGE ENABLE-DOCKER
demo1 Running 20h false- 编辑服务
demo1的yaml文件,命令如下。文件内容很多,找到network字段,以下是yaml文件的部分截取
bash
demo@demoMacBook-Pro % kubectl edit containerservers.apps.ebcloud.com demo1
# 原yaml部分截取,需要修改network部分
jupyterAccess:
enable: true
port: 8888
token: neFroeabn9nVHFMD1lSoGINYdKitnmFCfTWHMHChxUYyAFOS
network: {} #这块内容是需要修改的
power: "ON"
resources:
cpu:
count: "10"#---------------------network字段改为如下内容---------------## 原文件内容省略无需修改
network:
public: true
tcp:
ports:
- 88 # 这个端口是服务的target port端口。可添加多个
- 77 # 多个端口的演示,如果不需要则不用加这一行。# 原文件内容省略- 保存上述文件后,查看可用的外网IP
bash
demo@demoMacBook-Pro % kubectl get containerservers.apps.ebcloud.com -o wide
NAME STATUS AGE ENABLE-DOCKER SERVER-POD SSH-ACCESS EXTERNAL-IP SERVER-CLUSTER-IP DIND-CLUSTER-IP
demo1 Running 13m false cs-f3076-6cee4-server ssh -p 35321 root@ssh-cn-huabei1.ebcloud.com 117.78.61.74 10.233.73.169- 访问
bash
# 浏览器访问117.78.61.74:88取消对外提供服务
操作步骤:
- 编辑服务
demo1的yaml文件,在之前修改的network字段中,修改public得true改为false
bash
demo@demoMacBook-Pro % kubectl edit containerservers.apps.ebcloud.com demo1
# network字段部分改为如下部分
原文件内容省略无需修改
network:
public: false #修改为false
tcp:
ports:
- 88
- 77- 检查,EXTERNAL-IP字段,IP消失则成功。
bash
demo@demoMacBook-Pro % kubectl get containerservers.apps.ebcloud.com -o wide
NAME STATUS AGE ENABLE-DOCKER SERVER-POD SSH-ACCESS EXTERNAL-IP SERVER-CLUSTER-IP DIND-CLUSTER-IP
demo1 Running 13m false cs-f3076-6cee4-server ssh -p 35321 root@ssh-cn-huabei1.ebcloud.com 10.233.73.169