You need to enable JavaScript to run this app.
导航
指定安全组创建实例
最近更新时间:2023.08.07 10:49:31首次发布时间:2021.11.04 14:08:18

弹性容器实例支持使用默认安全组创建,也支持指定安全组创建。本文主要介绍通过指定安全组,创建弹性容器实例的步骤。

背景信息

未指定安全组时,使用的默认安全组为:创建 VKE 集群时默认开通且放通了所有出入流量的 Pod 安全组。

使用限制

  • VCI 实例从 Kubernetes 视角不支持修改安全组,如有修改需求建议修改安全组后,重新指定安全组创建实例。
  • VCI 实例从私有网络弹性网卡(即主网卡,简称 ENI)视角支持修改安全组。但每次更新或扩缩容 VCI 实例后,关联的安全组,会恢复为最初创建 VCI 实例时指定的安全组。此时,需要您重新指定安全组创建实例。

前提条件

Kubernetes 方式创建

创建 Pod 或者工作负载(包括 Deployment、StatefulSet、Job、CronJob)时,通过添加 Annotation,指定安全组。

Annotation 说明,如下所示。

Annotation KeyAnnotation Value 示例值说明

vke.volcengine.com/security-group-ids

sg-3thbinrkp94bwbh****, sg-2b49fbsd723bf4****

设置 VCI 实例安全组。

  • 可填写多个安全组,使用半角逗号(,)分割。
  • 安全组数量限制,请参见 安全组约束限制
  • 指定安全组创建 VCI 实例时,不会叠加默认安全组的规则。
  • 指定多个安全组时,请关注多个安全组策略叠加对网络连通性的影响。多个安全组策略叠加使用方法,请参见 安全组应用示例

以创建无状态负载(Deployment)为例,完整的示例代码如下所示:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      annotations:
        vke.volcengine.com/burst-to-vci: enforce  #强制使用 VCI
        vke.volcengine.com/security-group-ids: sg-mjpdqrxka3nk5smt1a****** #指定安全组 ID
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: cr-cn-beijing.volces.com/tw/nginx:1.0 # 容器镜像的地址和版本,请配置为您自己的镜像地址
        ports:
        - containerPort: 80

控制台方式创建

与 Kubernetes 方式创建相同,在创建工作负载时添加注解(Annotation),指定安全组。

下图以无状态负载(Deployment)为例,其他工作负载的创建方法与之相似。详细的创建工作负载方法,请参见 工作负载

说明

弹性容器实例不支持守护进程(Daemonset)。更多信息,请参见 使用限制

alt

查询实例所属安全组

弹性网卡(ENI)的所属安全组支持修改,您可以根据 VCI 实例绑定的弹性网卡 ID,查询该弹性网卡绑定的安全组。

  1. 获取 VCI 实例的 ID,或者 VCI 实例绑定的弹性网卡 ID。

    • 通过 Pod Annotation 中vci.vke.volcengine.com/instance-id参数的值,获取 VCI 实例 ID。
    • 通过 Pod Annotation 中vke.volcengine.com/eni-id参数的值,获取弹性网卡 ID。

    alt

  2. 根据查询到的弹性网卡 ID(弹性网卡 ID 或实例 ID),查询与之关联的安全组信息。

    • 控制台:
      1. 登录 私有网络控制台
      2. 左侧导航栏单击 网卡,并在 网卡 页面通过弹性网卡 ID,搜索弹性网卡。
        alt
      3. 单击网卡名称,在网卡详情面板的 关联安全组 页签,查看安全组信息。
        alt
    • OpenAPI:
      调用私有网络的 DescribeNetworkInterfaces 接口,查询网卡的信息。详细说明,请参见 DescribeNetworkInterfaces