对外提供服务

以下为您演示如何通过LoadBalancer方式公网访问您的服务。需通过登录集群后台操作,用kubectl命令来操作允许公网访问。

操作步骤

💡 对外提供服务需要您登录集群,通过后台操作。集群连接请参考:连接集群

  1. 编辑需要提供公网访问的服务。下述演示通过LoadBalancer‌,为demo1分配公网ip访问服务 。

    demo@demoMacBook-Pro  % kubectl get containerservers.apps.ebcloud.com
    NAME    STATUS    AGE   ENABLE-DOCKER
    demo1   Running   20h   false
    
  2. 编辑服务demo1的yaml文件,命令如下。文件内容很多,找到network字段,以下是yaml文件的部分截取

    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 # 多个端口的演示,如果不需要则不用加这一行。
    # 原文件内容省略
    
  3. 保存上述文件后,查看可用的外网IP

    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
    
  4. 访问

    # 浏览器访问
    117.78.61.74:88
    

取消对外提供服务

操作步骤:

  1. 编辑服务demo1的yaml文件,在之前修改的network字段中,修改public得true改为false
demo@demoMacBook-Pro  % kubectl edit containerservers.apps.ebcloud.com demo1
# network字段部分改为如下部分
  原文件内容省略无需修改
  network:
    public: false #修改为false
    tcp:
      ports:
      - 88
      - 77
  1. 检查,EXTERNAL-IP字段,IP消失则成功。
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