背景信息
SCE集群支持应用服务挂载弹性公网IP功能,无需创建VPC NAT网关即可让应用访问公网,此功能使得Serverless容器应用的部署和服务访问变得更加简单和便利。
前提条件
- 确保您已经创建SCE集群,具体操作请参阅创建SCE集群。
- 确保目标集群的安全组已经开放相关端口号。
- 确保kubectl工具已经连接目标集群。
操作步骤
- 登录VPC管理控制台,购买弹性公网IP。
- 进入弹性负载均衡控制台,创建弹性负载均衡ELB,并且使用ELB绑定弹性公网IP。
- 登录容器服务管理控制台,在左侧菜单栏选择“集群”。
- 在集群列表页面,选择目标集群名称,然后在左侧菜单栏选择“工作负载”下的“无状态”,选择创建Deployment。
您也可以使用如下YAML示例模板创建Pod:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- image: nginx:alpine
imagePullPolicy: Always
name: nginx
ports:
- containerPort: 80
name: http
protocol: TCP
restartPolicy: OnFailure
- 创建loadbalance类型的service,绑定公网ELB。
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress-elb
namespace: kube-system
annotations:
service.beta.kubernetes.io/ctyun-loadbalancer-id: lb-5jkwoaxf66 # elb id
service.beta.kubernetes.io/ctyun-loadbalancer-address-type: internet # #私网或公网类型,私网intranet,公网internet
spec:
ports:
- name: nginx-ingress
port: 30002
protocol: TCP
targetPort: 80
selector:
k8s-app: nginx-ingress-controller
type: LoadBalancer
- 在集群左侧导航栏中,选择“工作负载”下的“容器组”,查看容器组的状态。
- 使用弹性公网IP访问pod。在浏览器中输入http://ip:端口地址,您可访问nginx欢迎页。其中ip为申请的弹性公网IP的IP地址。