安全性群組是一種虛擬防火牆,具備狀態檢測和資料包過濾能力,用於在雲端劃分安全域。通過添加安全性群組規則,您可以控制安全性群組內ECI Pod(即ECI執行個體)的入流量和出流量。
安全性群組介紹
安全性群組是一個邏輯上的分組,由同一VPC內具有相同安全保護需求並相互信任的執行個體組成。通過添加安全性群組規則,安全性群組可以允許或拒絕安全性群組內ECI執行個體對公網或者私網的訪問,以及管理是否允許存取來自公網或私網的訪問請求。更多資訊,請參見安全性群組概述。
一個安全性群組可以管理同一個VPC內的多個ECI執行個體。
一個ECI執行個體必須屬於一個安全性群組。
安全性群組分為普通安全性群組和企業安全性群組。如果您對整體規模和營運效率有較高需求,建議您使用企業安全性群組。相比普通安全性群組,企業安全性群組大幅提升了組內支援容納的執行個體數量,簡化了規則配置方式。更多關於兩種安全性群組的差異資訊,請參見普通安全性群組與企業級安全性群組。
指定安全性群組
在ACK叢集中建立ECI Pod時,Pod預設會加入到eci-profile配置的安全性群組中。如果有特殊需求,您也可以為某些ECI Pod指定其他安全性群組。操作前,請先建立安全性群組,具體操作,請參見建立安全性群組。
建立成功的ECI Pod不支援修改所屬安全性群組。如果想要變更安全性群組,需要重新建立ECI Pod。
叢集配置
eci-profile設定檔中包含了安全性群組配置資訊。您可以通過kubectl edit命令進行修改。
kubectl edit configmap eci-profile -n kube-system
叢集中的VK(ACK Virtual Node組件)版本為v2.0.0.90-15deb126e-aliyun及以上時,支援修改eci-profile實現配置熱更新。如果您的VK版本低於該版本,建議您升級VK。
修改data中的securityGroupId欄位即可修改安全性群組配置,樣本如下:
data:
enableClusterIp: "true"
enableHybridMode: "false"
enablePrivateZone: "false"
resourceGroupId: ""
securityGroupId: sg-2ze0b9o8pjjzts4h**** # 指定安全性群組ID,僅支援單個
selectors: ""
vSwitchIds: vsw-2zeet2ksvw7f14ryz****,vsw-2ze94pjtfuj9vaymf****
vpcId: vpc-2zeghwzptn5zii0w7****
ECI Pod配置
對於有特殊需求的某些ECI Pod,可以添加k8s.aliyun.com/eci-security-group
的Annotation來指定安全性群組。配置要求如下:
支援指定一個或多個安全性群組,最多可以指定5個安全性群組。
指定的安全性群組必須屬於同一VPC。
指定的安全性群組的類型必須相同。
Annotation請添加在Pod的metadata下,例如:建立Deployment時,Annotation需添加在spec>template>metadata下。
僅支援在建立ECI Pod時添加ECI相關Annotation來生效ECI功能,更新ECI Pod時添加或者修改ECI相關Annotation均不會生效。
配置樣本如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-security-group: "sg-bp1dktddjsg5nktv****,sg-2ze0b9o8pjjzts4h****" #指定安全性群組
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
添加安全性群組規則
對於安全性群組內的ECI執行個體,您可以添加安全性群組規則來控制其出入流量。例如:
當ECI執行個體需要與所在安全性群組之外的網路進行通訊時,您可以添加允許訪問的安全性群組規則,實現網路互連。
在運行ECI執行個體的過程中,發現部分請求來源有惡意攻擊行為時,您可以添加拒絕訪問的安全性群組規則,實現網路隔離。
關於如何添加安全性群組規則,請參見添加安全性群組規則。