tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

固定 IP 使用方法

PDF
聚焦模式
字号
最后更新时间: 2024-12-19 21:02:04

使用场景

适用于依赖容器固定 IP 的场景。例如,传统架构迁移到容器平台及针对 IP 做安全策略限制。 对 IP 无限制的业务不推荐您使用固定 IP 模式。

能力和限制

支持 Pod 销毁 IP 保留,Pod 迁移 IP 不变,从而实现固定 IP。
支持多子网,但不支持跨子网调度固定 IP 的 Pod, 因此固定 IP 模式的 Pod 不支持跨可用区调度。
支持 Pod IP 自动关联弹性公网 IP,从而可支持 Pod 外访。
共享网卡的固定 IP 模式,固定 IP 的 Pod 销毁后,其 IP 只在集群范围内保留。若有其他集群或者业务(如 CVM、CDB、CLB 等)使用了同一子网,可能会导致保留的固定 IP 被占用,Pod 再启动时将无法获取 IP。因此请保证该模式的容器子网是独占使用。

使用方法

您可以通过以下两种方式启用固定 IP:
创建集群选择固定 IP 模式的 VPC-CNI。
为 GlobalRouter 模式附加固定 IP VPC-CNI 模式。

创建集群选择固定 IP 模式的 VPC-CNI

说明:
使用此方式启用 VPC-CNI,通过控制台或通过 yaml 创建工作负载,Pod 均默认使用弹性网卡。
1. 登录 容器服务控制台 ,单击左侧导航栏中集群
2. 集群管理页面,单击集群列表上方的新建
3. 在创建集群页面,在容器网络插件中选择 VPC-CNI。
4. 选择容器网络插件为 VPC-CNI,并勾选“开启支持”固定 Pod IP 即可。如下图所示:




为 GlobalRouter 模式附加固定 IP VPC-CNI 模式

为已有集群开启 VPC-CNI

说明:
为 GlobalRouter 模式附加固定 IP VPC-CNI 模式即创建集群时选择 Global Router 网络插件,后续在集群基本信息页面开启 VPC-CNI 模式(两种模式默认混用)。
使用此方式启用 VPC-CNI,Pod 默认不使用弹性网卡。
1. 登录 容器服务控制台 ,单击左侧导航栏中集群
2. 集群管理页面,选择需开启 VPC-CNI 的集群 ID,进入集群详情页。
3. 在集群详情页面,选择左侧基本信息
4. 在集群基本信息页面的集群信息模块,在 VPC-CNI 字段中单击开启。
5. 在弹出窗口中勾选“开启支持”固定 Pod IP,确认 IP 回收策略,并选择子网。如下图所示:



注意:
针对固定 IP 场景,启用 VPC-CNI 后需要设置 IP 回收策略,即设置 Pod 销毁后需要退还 IP 的时长。
非固定 IP 的 Pod 销毁后可立即释放 IP(非释放回 VPC,释放回容器管理的 IP 池),不受此设置的影响。
6. 单击提交,即可完成为已有集群开启 VPC-CNI。

创建固定 Pod IP 类型 StatefulSet

在 GlobalRouter 模式附加 VPC-CNI 模式下,如果您存在业务需要在容器服务 TKE 中部署,并存在固定 Pod IP 的需求,您可以使用固定 IP 类型的 StatefulSet。TKE 提供扩展 StatefulSet 固定 IP 的能力,该类型的 StatefulSet 创建的 Pod 将通过弹性网卡分配真实的 VPC 内的 IP 地址。容器服务 TKE VPC-CNI 的插件负责 IP 分配,当 Pod 重启或迁移,可实现 IP 地址不变。
您可以通过创建固定 IP 类型 StatefulSet 来满足以下场景:
通过来源 IP 授权。
基于 IP 做流程审核。
基于 Pod IP 做日志查询等。
注意:
固定 IP 类型 StatefulSet 存在使用限制,仅支持 StatefulSet 生命周期内固定 IP。
您可通过以下两种方法创建固定 IP:
通过控制台创建固定 IP 类型 StatefulSet
1.1 登录 容器服务控制台 ,单击左侧导航栏中集群
1.2 选择需要使用固定 IP 模式的集群 ID 名称,进入该集群的管理页面。
1.3 选择工作负载 > StatefulSet,进入StatefulSet的集群管理页面。
1.4 单击新建,查看实例数量。如下图所示:



1.5 单击显示高级设置,根据您实际需求,设置StatefulSet参数。关键参数信息如下:


网络模式:勾选使用 VPC-CNI 模式
IP 地址范围:目前仅支持随机。
固定 Pod IP:选择开启
通过 Yaml 创建
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
k8s-app: busybox
name: busybox
namespace: default
spec:
replicas: 3
selector:
matchLabels:
k8s-app: busybox
qcloud-app: busybox
serviceName: ""
template:
metadata:
annotations:
tke.cloud.tencent.com/networks: "tke-route-eni"
tke.cloud.tencent.com/vpc-ip-claim-delete-policy: Never
creationTimestamp: null
labels:
k8s-app: busybox
qcloud-app: busybox
spec:
containers:
- args:
- "10000000000"
command:
- sleep
image: busybox
imagePullPolicy: Always
name: busybox
resources:
limits:
tke.cloud.tencent.com/eni-ip: "1"
requests:
tke.cloud.tencent.com/eni-ip: "1"
spec.template.annotations:tke.cloud.tencent.com/networks: "tke-route-eni" 表明 Pod 使用共享网卡的 VPC-CNI 模式,如果使用的是独立网卡的 VPC-CNI 模式,请将值修改成 "tke-direct-eni"
spec.template.annotations:创建 VPC-CNI 模式的 Pod,您需要设置 annotations,即 tke.cloud.tencent.com/vpc-ip-claim-delete-policy,默认是 “Immediate”,Pod 销毁后,关联的 IP 同时被销毁。如需固定 IP,则需设置成 “Never”,Pod 销毁后 IP 也将会保留,那么下一次同名的 Pod 拉起后,会使用之前的 IP。
spec.template.spec.containers.0.resources:创建共享网卡的 VPC-CNI 模式的 Pod,您需要添加 requests 和 limits 限制,即 tke.cloud.tencent.com/eni-ip。如果是独立网卡的 VPC-CNI 模式,则添加 tke.cloud.tencent.com/direct-eni

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈