上云无忧 > 文档中心 > 天翼云云容器引擎VPC内网访问
云容器引擎
天翼云云容器引擎VPC内网访问

文档简介:
VPC内网访问是指应用可以让同一VPC内其他应用访问,通过“集群节点的IP”或者“私网弹性负载均衡ELB”的服务地址访问。 主要场景:同一VPC内其他应用需要访问kubernetes集群内部的应用。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

VPC内网访问


VPC内网访问是指应用可以让同一VPC内其他应用访问,通过“集群节点的IP”或者“私网弹性负载均衡ELB”的服务地址访问。

主要场景:同一VPC内其他应用需要访问kubernetes集群内部的应用。

VPC内网访问有两种形式:

通过集群节点IP访问:如下图。

 


通过私网弹性负载均衡ELB访问:如下图。弹性负载均衡模式相比集群节点IP方式的访问,提供了高可靠的保障。

 


添加方式

您可以在创建应用时设置访问方式,也可以应用创建完成后添加访问方式。

方式一:创建应用时配置。

方式二:应用创建完成后设置。

通过界面创建

本节以nginx应用为例进行说明。

步骤1:创建无状态应用或创建有状态应用,在“应用访问设置”步骤,单击“添加服务”。

服务名称:自定义服务名称,可与应用名称保持一致。

访问方式:VPC内网访问。

节点IP:表示通过“集群节点IP”来访问应用。

VPC内网负载均衡:表示通过“弹性负载均衡”来访问应用。

协议:请根据业务的协议类型选择。

容器端口:容器镜像中应用程序实际监听的端口,需用户确定。nginx程序实际监听的端口为80。

访问端口:

−集群节点IP访问:容器端口映射到节点私有IP上的端口,用私有IP访问应用时使用,端口范围为30000-32767,建议选择“自动生成”。

自动生成:系统会自动分配端口号。

指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。

−通过弹性负载均衡器的私网IP访问集群节点:指定一个端口,将容器端口映射到负载均衡器的端口,使用私网负载均衡IP访问应用,端口范围为1-65535。使用弹性负载均衡器的私有IP访问应用时,使用该端口。

步骤2:单击“下一步”进入“高级设置”页面,直接单击“创建”。

步骤3:单击查看应用详情,在访问方式页签中获取访问地址,例如“192.168.0.160:30358”。

步骤4:在管理控制台首页,单击“计算 > 弹性云主机”。

步骤5:在弹性云主机页面,找到同一VPC内任意一台云服务器,并确认连接到访问地址中IP与端口的安全组是开放的。

确认安全组开放

 

步骤6:单击“远程登录”,弹出登录页面,输入用户密码登录。

步骤7:使用curl命令访问应用验证应用是否可以正常访问。

 

节点私有IP类型的访问方式在集群内也会分配一个集群虚拟IP,即可以在集群内部通过集群虚拟IP的验证方式验证。其中,集群虚拟IP访问端口默认与容器端口一致,例如此示例的访问端口为80端口。

curl 192.168.0.160:30358

其中“192.168.0.160:30358”为步骤3中获取到的访问地址。

回显如下表示访问成功。

<html> 

<head> 

<title>Welcome to nginx!</title> 

<style> 

    body { 

        width: 35em; 

        margin: 0 auto; 

        font-family: Tahoma, Verdana, Arial, sans-serif; 

    } 

</style> 

</head> 

<body> 

<h1>Welcome to nginx!</h1> 

<p>If you see this page, the nginx web server is successfully installed and 

working. Further configuration is required.</p> 

 

<p>For online documentation and support please refer to 

<a href="/">nginx.org</a>.<br/> 

Commercial support is available at 

<a href="/">nginx.com</a>.</p> 

 

<p><em>Thank you for using nginx.</em></p> 

</body> 

</html>


应用创建完成后设置

步骤1:登录CCE控制台,选择左侧导航栏的“资源管理 > 网络管理”,在Service页签下,单击“添加Service”。选择类型为“VPC内网访问”。

步骤2:设置集群内访问参数。

服务名称:自定义服务名称,可与应用名称保持一致。

集群名称:服务所在集群。

命名空间:服务所在命名空间。

关联应用:选择需要添加Service的应用。

访问类型:

节点IP:表示通过“集群节点IP”来访问集群内的节点。

VPC内网负载均衡:表示选择通过“弹性负载均衡”来访问集群内的节点。

端口配置:

协议:请根据业务的协议类型选择。

容器端口:容器镜像中应用程序实际监听的端口,需用户确定。nginx程序实际监听的端口为80。

访问端口:

集群节点IP访问:容器端口映射到节点私有IP上的端口,用私有IP访问应用时使用,端口范围为30000-32767,建议选择“自动生成”。

自动生成:系统会自动分配端口号。

指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。

通过私网弹性负载均衡ELB访问:容器端口映射到负载均衡实例上的端口,用私网负载均衡IP访问应用时使用,端口范围为1-65535。

步骤3:单击“创建”。应用已添加“VPC内网访问”的服务。验证操作与步骤4-步骤7相同。


kubectl命令行创建

本节以nginx应用为例,说明kubectl命令实现VPC内访问的方法。

前提条件

配置kubectl命令,使弹性云主机连接集群。

操作步骤

步骤1:登录已配置好kubectl命令的弹性云主机。

步骤2:创建并编辑nginx-deployment.yaml以及nginx-nodeport-svc.yaml文件。

其中,nginx-deployment.yaml和nginx-nodeport-svc.yaml为自定义名称,您可以随意命名。

vi nginx-deployment.yaml

apiVersion: extensions/v1beta1 

kind: Deployment 

metadata: 

  name: nginx 

spec: 

  replicas: 1 

  selector: 

    matchLabels: 

      app: nginx 

  strategy: 

    type: RollingUpdate 

  template: 

    metadata: 

      labels: 

        app: nginx 

    spec: 

      containers: 

      - image: nginx  

        imagePullPolicy: Always 

        name: nginx 

      imagePullSecrets: 

      - name: default-secret

vi nginx-nodeport-svc.yaml

apiVersion: v1 

kind: Service 

metadata: 

  labels: 

    app: nginx 

  name: nginx-nodeport 

spec: 

  ports: 

  - name: service 

#   nodePort: 30000      #对应界面上的访问端口,不填写表示自动生成 

    port: 80             #集群虚拟IP的访问端口 

    protocol: TCP 

    targetPort: 80       #对应界面上的容器端口 

  selector: 

    app: nginx 

  type: NodePort        #对应界面上的访问类型,NodePort表示“节点私有IP”

步骤3:创建应用。

kubectl create -f nginx-deployment.yaml

回显如下,表示应用已开始创建。

deployment "nginx" created

kubectl get po

回显如下,应用状态为Running,表示应用已处于运行状态。

NAME                     READY     STATUS             RESTARTS   AGE 

etcd-0                   0/1       ImagePullBackOff   0          48m 

icagent-m9dkt            0/0       Running            0          3d 

nginx-2601814895-qhxqv   1/1       Running            0          9s

步骤4:创建服务。

kubectl create -f nginx-nodeport-svc.yaml

回显如下,表示服务开始创建。

service "nginx-nodeport" created

kubectl get svc

回显如下,表示服务已创建完成。

NAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE 

etcd-svc         ClusterIP   None           <none>        3120/TCP       49m 

kubernetes       ClusterIP   10.247.0.1     <none>        443/TCP        3d 

nginx-nodeport   NodePort    10.247.4.225   <none>        80:30000/TCP   7s

步骤5:采用curl命令访问应用验证应用是否可以正常访问。

curl 192.168.2.240:30000

其中192.168.2.240为集群中任意一个节点的IP地址,30000为节点开放的端口号。

回显如下,表示可正常访问。

<html> 

<head> 

<title>Welcome to nginx!</title> 

<style> 

    body { 

        width: 35em; 

        margin: 0 auto; 

        font-family: Tahoma, Verdana, Arial, sans-serif; 

    } 

</style> 

</head> 

<body> 

<h1>Welcome to nginx!</h1> 

<p>If you see this page, the nginx web server is successfully installed and 

working. Further configuration is required.</p> 

 

<p>For online documentation and support please refer to 

<a href="/">nginx.org</a>.<br/> 

Commercial support is available at 

<a href="/">nginx.com</a>.</p> 

 

<p><em>Thank you for using nginx.</em></p> 

</body> 

</html>

相似文档
  • 公网访问可以通过弹性IP从公网访问应用,一般用于系统中需要暴露到公网的服务。该访问方式需要给集群内任一节点绑定弹性IP,并设置一个映射在节点上的端口,其中节点端口的范围在30000-32767之间,例如访问地址为10.117.117.117:30000。
  • 公网访问-四层负载均衡可以通过弹性负载均衡从公网访问到应用,与弹性IP方式相比提供了高可靠的保障,一般用于系统中需要暴露到公网的服务。
  • 七层负载均衡是采用了增强型弹性负载均衡,在四层负载均衡访问方式的基础上支持了URI配置,通过对应的URI将访问流量分发到对应的服务。同时,服务根据不同URI实现不同的功能。
  • 您可以根据业务需求自行定义伸缩策略,降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。当前支持三种弹性伸缩策略:
  • 登录云容器引擎控制台,在左侧导航栏中选择【应用管理】,单击待设置伸缩策略的应用,进入应用详情页面,选择【伸缩】页签; 在【手动伸缩】策略下,单击 修改实例数量,单击【保存】。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部