“DNAT网关”可以为集群节点提供网络地址转换服务,使多个节点可以共享使用弹性IP。
NAT网关与弹性IP方式相比增强了可靠性,弹性IP无需与单个节点绑定,任何节点状态的异常不影响其访问。访问方式由公网弹性IP地址以及设置的访问端口组成,例如“10.117.117.117:80”。
关于NAT网关的使用,您需要注意以下几点:
您需要提前创建NAT网关实例和弹性IP,具体操作步骤如下:
购买NAT网关,选择VPC和子网时,请确保与CCE中运行业务的集群VPC和子网一致。
您可以在创建工作负载时通过CCE控制台设置Service访问方式,本节以nginx为例进行说明。具体操作如下:
您可以在工作负载创建完成后对Service进行配置,此配置对工作负载状态无影响,且实时生效。具体操作如下:
暂不支持DNAT网关 ( DNAT )的更新。
您可以在创建工作负载时通过kubectl命令行设置Service访问方式。本节以nginx为例,说明kubectl命令实现集群内访问的方法。
前提条件
请参见通过kubectl或web-terminal插件操作CCE集群配置kubectl命令,使弹性云服务器连接集群。
操作步骤
其中,nginx-deployment.yaml和nginx-nat-svc.yaml为自定义名称,您可以随意命名。
vi nginx-deployment.yaml
apiVersion: apps/v1 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
以上字段的解释请参见表3。
vi nginx-nat-svc.yaml
apiVersion: v1 kind: Service metadata: labels: app: nginx name: nginx annotations: kubernetes.io/elb.class: dnat kubernetes.io/natgateway.id: e4a1cfcf-29df-4ab8-a4ea-c05dc860f554 spec: loadBalancerIP: 10.78.42.242 ports: - name: service0 port: 80 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer
参数 |
是否必填 |
参数类型 |
描述 |
---|---|---|---|
kubernetes.io/elb.class |
是 |
String |
该参数配置为DNAT用于对接NAT网关服务添加DNAT规则。 |
kubernetes.io/natgateway.id |
是 |
String |
用于指定NAT网关ID。 |
loadBalancerIP |
是 |
String |
公网弹性IP。 |
port |
是 |
Integer |
对应界面上的访问端口,取值范围为1 ~ 65535。 |
targetPort |
是 |
String |
对应界面上的容器端口,取值范围为1 ~ 65535。 |
type |
是 |
String |
NAT网关服务需要配置为LoadBalancer类型。 |
kubectl create -f nginx-deployment.yaml
回显如下表示工作负载开始创建。
deployment "nginx" created
kubectl get po
回显如下,工作负载状态为Running,表示工作负载已运行中。
NAME READY STATUS RESTARTS AGE etcd-0 0/1 ImagePullBackOff 0 59m icagent-m9dkt 0/0 Running 0 3d nginx-2601814895-sf71t 1/1 Running 0 8s
kubectl create -f nginx-nat-svc.yaml
回显如下表示服务已创建成功。
service "nginx-eip" created
kubectl get svc
回显如下表示服务访问方式已设置成功。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE etcd-svc ClusterIP None <none> 3120/TCP 59m kubernetes ClusterIP 10.247.0.1 <none> 443/TCP 3d nginx-nat LoadBalancer 10.247.226.2 10.154.74.98 80:30589/TCP 5s
其中10.154.74.98为弹性IP地址,80为上一步中获取的节点端口号。
恢复数据时系统会关闭服务器,待数据恢复后系统会自动启动服务器。 如果取消勾...
活动时间 7月9日 14:00-17:00 搭建基于运维大数据的可观测性系统 7月10日 13:00-...
DHCP DISCOVER是以广播方式进行的,其情形只能在同一网络之内进行,因为router是...
虽然容器已经诞生了10多年,但在过去几年中,容器的普及和采用率仍然不断增长。...
虚拟环境是安全地使用不同版本的 Python 和软件包组合的关键。 Python 对管理虚...
为什么无法使用某个实例名称创建实例? 无法使用某个实例名进行实例创建可能由以...
12月的设计圈实用干货工具大合集来了!年底这波干货汇集了不少颇为有趣的工具,...
作者:冯钰妍 本文将介绍如何使用 ELK 在网络安全分析领域中的实际应用 Elastics...
对于定量数据,要想了解其分布形式是对称的还是非对称的、发现某些特大或特小的...
面试的时候,面试官只要看到你简历的上写的有Zookeeper(熟悉、掌握)之类,那你至...