You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
网络
配置 IPv4/IPv6 双栈网络
复制全文
下载 pdf
配置 IPv4/IPv6 双栈网络
弹性容器实例同时支持 IPv4 和 IPv6 双栈网络能力,相比 IPv4,IPv6 大大扩展了地址的可用空间。本文主要介绍如何为 VCI 实例配置 IPv4/IPv6 双栈网络。​
VCI Pod 主网卡和辅助网卡均支持 IPv4 和 IPv6 双栈网络。补齐 IPv6 支持的能力,满足 Pod 在双栈模式下运行的需求。​
说明​
【邀测·申请试用】:双栈网络功能目前处于邀测阶段,如需使用,请提交申请。​
使用限制​
IPv6 目前在其他火山引擎产品侧(包括 VPC、VKE、CLB、ALB 等) 均处于邀测阶段,如需使用,请在 各产品侧 一并提交邀测申请。本文示例用到的其他产品如下,请提前在相关产品侧提交 IPv6 邀测申请:​
前提条件​
  • 已准备容器镜像。支持使用火山引擎镜像仓库(CR)中的镜像,也支持使用第三方镜像仓库中的镜像。上传镜像到 CR 的操作,请参见 推送和拉取镜像。​
说明​
若使用 CR 产品中上传的镜像,请确保镜像仓库实例已添加双栈集群使用的 VPC 的访问权限。详细操作,请参见 连通本账号 VPC。​
配置说明​
通过添加 Pod Annotation 方式,为弹性容器实例配置 IPv4/IPv6 双栈网络。​
Annotation 说明,如下所示。​
​
Annotation Key​
Annotation Value 示例值​
说明​
是否必填​
vci.vke.volcengine.com/pod-ip-family​
ipv4​
VCI Pod 主网卡使用的协议栈。取值如下:​
  • ipv4:(默认)使用 IPv4 单栈网络。​
  • dualstack:使用 IPv4/IPv6 双栈网络。​
本场景必填​
vke.volcengine.com/preferred-network-interface​
对象类型​
VCI Pod 辅助网卡配置。数组类型,数组中每个对象均代表一张辅助网卡的配置信息。详情如本文下方 辅助网卡配置信息表 所示。​
说明​
【邀测·申请试用】:VCI Pod 辅助网卡配置功能目前处于邀测阶段,如需使用,请提交申请。​
非必填​
​
辅助网卡配置信息表​
​
Key​
示例值​
说明​
是否必填​
Type​
"Secondary"​
弹性网卡类型,配置辅助网卡时,此处必须为"Secondary"。​
必填​
AccountId​
21000****​
网卡所属的火山引擎账号 ID(租户 ID)。支持同租户和跨租户辅助网卡配置。​
必填​
VpcId​
vpc-2d6px******​
网卡所属的 VPC ID。​
必填​
SubnetIds​
["subnet-os74b******"]​
子网 ID。​
  • 子网必须属于当前 VCI Pod 主网卡所在的 VPC。​
  • 辅助网卡与主网卡的子网可以相同,也可以不同,VPC 的 CIDR 允许重叠。​
必填​
SecurityGroupIds​
["sg-123edf******"]​
弹性网卡加入的安全组列表。​
  • 指定的安全组必须与弹性网卡在同一个 VPC 内。​
  • 安全组数量 >= 1。​
必填​
SecondaryPrivateIpAddressCount​
1​
辅助网卡的辅助私网 IP 数量,取值范围:1~2。​
辅助网卡至少有 1 个主私网 IP,可以有 0 至多个辅助私网 IP。​
注意​
  • 辅助网卡仅使用主私网 IP 时,请不要填写该参数。​
  • 辅助网卡所能够绑定的弹性公网 IP 总数量为:SecondaryPrivateIpAddressCount + 1。​
非必填​
Ipv6AddressCount​
1​
VCI Pod 辅助网卡的 IPv6 地址数量,取值范围:1~2。​
传入该参数后,系统自动从网卡所属子网中分配相应数量的空闲 IP 地址作为网卡的辅助私网 IP 地址。​
非必填​
​
配置示例​
本文以指定子网创建 VCI 实例时,同时配置 IPv4/IPv6 双栈网络为例。创建 VCI 实例的详细操作,请参见 创建 VCI 实例。​
Kubernetes 方式​
下文以在 IPv4/IPv6 双栈集群中创建无状态负载(Deployment)为例。​
  1. 通过 kubectl 连接双栈集群。详细操作,请参见 连接集群。​
  1. 创建 Deployment 的 YAML 文件。示例文件nginx-deployment.yaml代码如下:​
说明​
下方为示例代码,实际使用中,请自行更新参数取值并删除 辅助网卡配置信息 部分的注释信息。​
  • ​
    apiVersion: apps/v1​
    kind: Deployment​
    metadata:​
    name: # Deployment名称。​
    spec:​
    replicas: 2 # Deployment 副本数量。​
    selector:​
    matchLabels:​
    app: nginx​
    template:​
    metadata:​
    annotations:​
    vke.volcengine.com/burst-to-vci: enforce # 强制使用 VCI。​
    vke.volcengine.com/preferred-subnet-ids: subnet-3tispp1nai**** # 指定子网 ID。​
    vci.vke.volcengine.com/pod-ip-family: dualstack # 主网卡使用的协议栈。​
    vke.volcengine.com/preferred-network-interface: # 辅助网卡配置信息。​
    '[{​
    "Type":"Secondary", # 网卡类型,必须填写 "Secondary",代表辅助网卡。​
    "AccountId": 21000****, # 租户 ID。​
    "VpcId": "vpc-2d6px******", # 网卡所属 VPC ID。​
    "SubnetIds":["subnet-os74b94e***"], # 辅助网卡的子网 ID。​
    "SecurityGroupIds":["sg-123edfgt8***"], # 辅助网卡所在的安全组 ID。​
    "SecondaryPrivateIpAddressCount": 1, # 辅助网卡的辅助私网 IP 数量。​
    "Ipv6AddressCount": 1 # 辅助网卡的 IPv6 地址数量。​
    }]'​
    labels:​
    app: nginx​
    spec:​
    containers:​
    - name: nginx​
    image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0 # 容器镜像的地址和版本,请配置为您自己的镜像地址。​
    ports:​
    - containerPort: 80​
    ​
  1. 执行以下命令,创建 Deployment。​
  • ​
    kubectl create -f nginx-deployment.yaml​
    ​
  1. 执行以下命令,获取 Pod 的信息。​
  • ​
    kubectl get pods -o wide​
    ​
  • 预期输出结果如下:​
  • ​
    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES​
    nginx-deployment-6b9cd76fb8-ht2z2 1/1 Running 0 24m 192.168.0.2 vci-node1-cn-shanghai-a <none> <none>​
    nginx-deployment-6b9cd76fb8-m7krc 1/1 Running 0 24m 192.168.0.3 vci-node1-cn-shanghai-a <none> <none> ​
    ​
  1. 执行以下命令,获取 Pod 对应的 IPv4/IPv6 地址。​
  • ​
    kubectl describe pod <your_pod_name>​
    ​
  • 预期输出结果如下,在IPs参数下,获取当前 Pod 的 IPv4 和 IPv6 地址:​
  • ​alt​​
控制台方式​
下文以创建无状态负载(Deployment)为例,其他工作负载的创建方法与之相似。详细的操作步骤和参数说明,请参见 创建无状态负载。​
说明​
弹性容器实例不支持守护进程(Daemonset)。更多信息,请参见 使用限制。​
  1. 创建以 弹性容器实例(VCI) 方式部署的无状态负载。​
  1. 在创建无状态负载过程中,配置 实例注解。​
  • ​alt​​
  1. 在 无状态负载详情页 的 实例列表 页签,获取 VCI 实例所分配到的 IPv4/IPv6 地址。​
  • ​alt​​
使用 IPv6 地址进行公网通信​
为 VCI Pod 配置 IPv4/IPv6 双栈网络后,VCI 实例将会获得由系统自动分配的 IPv6 地址,该地址可以直接用于私有网络(VPC)内的网络通信。如果希望通过该 IPv6 地址进行公网通信,则需要使用火山引擎的 IPv6 网关功能。​
  1. 创建 IPv6 网关。详细操作,请参见 创建 IPv6 网关实例。​
注意​
请确保 IPv6 网关所在的私有网络,与 VKE 集群(双栈集群)私有网络相同。​
  1. 为 VCI 实例(Pod)所使用的 IPv6 地址开通公网带宽。详细操作,请参见 开通 IPv6 公网带宽。​
  • 成功开通公网带宽后,您的 VCI 实例,可通过 IPv6 地址进行公网通信。​
  1. (可选)您可以通过以下配置,对 IPv6 公网流量进行访问控制和成本管理。​
  • 若不希望 Pod 的 IPv6 地址被公网的 IPv6 终端访问,可创建 仅主动出规则,拒绝公网的 IPv6 终端访问。详细说明,请参见 创建仅主动出规则。​
  • 若有多个 Pod 的 IPv6 公网带宽,可通过创建共享带宽包,共享这些 IPv6 公网带宽,实现成本节约。详细操作,请参见 管理共享带宽包。​
​
最近更新时间:2026.08.19 11:24:10
这个页面对您有帮助吗?
有用
有用
无用
无用