本文主要为您介绍如何在 Serverless Kubernetes 或虚拟节点中给 Pod 挂载 EIP。
背景信息 阿里云 Serverless Kubernetes 服务/虚拟节点推出 Pod 挂载弹性公网IP功能,此功能使某些 Serverless 容器应用的部署和服务访问变得更加简单和便利。 无需创建 VPC NAT 网关即可让单个 Pod 访问公网。 无需创建 Service 也可让单个 Pod 暴露公网服务。 可以更加灵活而且动态的绑定 Pod 和 EIP。 前提条件 创建一个Serverless Kubernetes集群或在 Kubernetes 集群创建一个使用虚拟节点。 请确保该集群的安全组已开放相关端口(本示例中需要开放80端口)。 操作步骤 您可以通过以下两种方法,给 Pod 挂载弹性公网 IP。
方法一:自动分配弹性公网 EIP 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,进入无状态(Deployment)页面。 选择所需的集群和命名空间,选择样例模板或自定义,然后单击创建。 您可以使用如下 yaml 示例模板创建 Pod。本例中,通过指定k8s.aliyun.com/eci-with-eip为 true, Serverless Kubernetes 服务/虚拟节点会自动为此 Pod 分配一个 EIP,并且绑定到 Pod 上。 yaml apiVersion: v1 kind: Pod metadata: name: nginx annotations: "k8s.aliyun.com/eci-with-eip": "true" spec: containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/jovi/nginx:alpine imagePullPolicy: Always name: nginx ports: - containerPort: 80 name: http protocol: TCP restartPolicy: OnFailure 说明 您也可以通过 Annotation k8s.aliyun.com/eip-bandwidth指定 EIP 的带宽,默认值为5,单位为M。 如果您创建的是 Deployment,那么 Deployment 中的每一个 Pod 都将会被挂载不同的 EIP,请谨慎使用此操作。 单击左侧导航栏中的应用 > 容器组,查看容器的状态。 容器组 在目标容器组右侧单击更多 > 编辑,弹出编辑 YAML文件。 说明 YAML文件中k8s.aliyun.com/allocated-eipAddress: 47.110.XX.XX的 IP 地址即为 EIP 的公网访问地址。 在浏览器中输入http://ip地址,您可访问 nginx 欢迎页。 此处的http://ip地址为 YAML 文件中k8s.aliyun.com/allocated-eipAddress: 47.110.XX.XX的 IP 地址。
nginx 欢迎页 说明 此方式中 EIP 为动态分配,其生命周期与 Pod 相同,当删除 Pod 时,动态分配的 EIP 也会一并删除。 方法二:指定弹性公网 IP实例 ID 登录 VPC 管理控制台,购买弹性公网 IP。请参考申请新EIP。 弹性公网 IP 说明 申请的 EIP 和集群必须在同一区域。 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,进入无状态(Deployment)页面。 选择所需的集群和命名空间,选择样例模板或自定义,然后单击创建。 您可以使用如下 yaml 示例模板创建 Pod。本例中,通过指定 Pod 的 Annonation k8s.aliyun.com/eci-eip-instanceid为 EIP 实例ID。 yaml apiVersion: v1 kind: Pod metadata: name: nginx annotations: "k8s.aliyun.com/eci-eip-instanceid": " " spec: containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/jovi/nginx:alpine imagePullPolicy: Always name: nginx ports: - containerPort: 80 name: http protocol: TCP restartPolicy: OnFailure 说明 需要替换成步骤1中获取的 EIP 实例 ID。 单击左侧导航栏中的应用 > 容器组,查看容器的状态。 容器组 在浏览器中输入http://ip地址,您可访问 nginx 欢迎页。 nginx 欢迎页 说明 此处的http://ip地址为步骤1中申请的EIP的IP地址。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。