全部產品
Search
文件中心

Elastic Container Instance:配置ECI Pod所屬安全性群組

更新時間:Jul 06, 2024

安全性群組是一種虛擬防火牆,具備狀態檢測和資料包過濾能力,用於在雲端劃分安全域。通過添加安全性群組規則,您可以控制安全性群組內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執行個體的過程中,發現部分請求來源有惡意攻擊行為時,您可以添加拒絕訪問的安全性群組規則,實現網路隔離。

關於如何添加安全性群組規則,請參見添加安全性群組規則