預設情況下,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