默认情况下,Pod会使用集群配置的交换机和安全组。如果您有特殊需求,可以通过添加Annotation的方式,为Pod指定其他交换机和安全组。
指定交换机
创建ACS集群时,可以为集群配置多个交换机来提高集群可用性。默认情况下,创建Pod时,会自动从集群配置的交换机中随机选择一个交换机,为Pod分配对应网段的私网IP地址。如果您有特殊需求,可以通过以下Annotation为Pod指定交换机。
Pod Annotation | 说明 |
| 为Pod指定交换机。要求如下:
|
Annotation请添加在Pod metadata下,例如:创建Deployment时,Annotation需添加在spec.template.metadata
下。配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-vsw
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
annotations:
network.alibabacloud.com/vswitch-ids: "vsw-uf65vd1j5iml8ydw3****"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
ports:
- containerPort: 80
指定安全组
创建ACS集群时,会自动创建一个安全组。默认情况下,创建Pod时,会将Pod的网卡绑定至集群配置的安全组,即将Pod加入到该安全组中。如果您有特殊需求,可以通过以下Annotation为Pod指定安全组。
说明
对于安全组中的Pod,您可以添加安全组规则来控制其出入流量。关于如何添加安全组规则,请参见添加安全组规则。
Pod Annotation | 说明 |
| 为Pod指定安全组。 |
Annotation请添加在Pod metadata下,例如:创建Deployment时,Annotation需添加在spec.template.metadata
下。配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-sg
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
annotations:
network.alibabacloud.com/security-group-ids: "sg-uf6f7toxvc6qhlnf****"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
ports:
- containerPort: 80