云容器实例 CCI
云容器实例 CCI
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 使用前必读
- 如何调用API
- 快速入门
- API
-
Kubernetes API
- ConfigMap
- Pod
- StorageClass
- Service
- Deployment
- Ingress
- OpenAPIv2
- VolcanoJob
- Namespace
- ClusterRole
- Secret
- Endpoint
- ResourceQuota
- CronJob
-
API groups
- 查询APIVersions
- 查询所有v1版本的API
- 查询APIGroupList
- 查询APIGroup /apis/apps
- 查询所有apps/v1的API
- 查询APIGroup /apis/batch
- 查询APIGroup /apis/batch.volcano.sh
- 查询所有batch.volcano.sh/v1alpha1的API
- 查询所有batch/v1的API
- 查询所有batch/v1beta1的API
- 查询APIGroup /apis/crd.yangtse.cni
- 查询所有crd.yangtse.cni/v1的API
- 查询APIGroup /apis/extensions
- 查询所有extensions/v1beta1的API
- 查询APIGroup /apis/metrics.k8s.io
- 查询所有metrics.k8s.io/v1beta1的API
- 查询APIGroup /apis/networking.cci.io
- 查询所有networking.cci.io/v1beta1的API
- 查询APIGroup /apis/rbac.authorization.k8s.io
- 查询所有rbac.authorization.k8s.io/v1的API
- Event
- PersistentVolumeClaim
- RoleBinding
- StatefulSet
- Job
- ReplicaSet
- 数据结构
- 权限和授权项
- 附录
- 历史API
- 修订记录
- SDK参考
- 场景代码示例
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
本文导读
链接复制成功!
为Pod绑定已有EIP
为Pod指定EIP的ID
创建Pod时,填写yangtse.io/eip-id的annotation后,EIP会随Pod自动完成绑定。
以下示例创建一个名为nginx的实例数为1的无状态负载,EIP将随Pod自动绑定至Pod。具体字段含义见表1。
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "14"
description: ""
name: nginx
namespace: eip
spec:
...
replicas: 1
template:
metadata:
annotations:
yangtse.io/eip-id: 65eb3679-7a8d-4b24-b681-0b661axxxxcb
Pod的EIP准备就绪
Pod业务容器的启动时间可能早于EIP分配结果返回成功时间,在Pod启动过程中EIP可能会绑定失败。
通过在init container中可检查EIP是否已经分配成功。容器网络控制器会在Pod IP分配后,为Pod绑定EIP并返回分配结果至Pod的Annotation(yangtse.io/allocated-ipv4-eip),通过Pod配置init container并使用downwardAPI,把yangtse.io/allocated-ipv4-eip annotation通过volume挂载到init container里,可检查EIP是否已经分配成功。具体您可以参考以下示例配置init container:
apiVersion: v1
kind: Pod
metadata:
name: example
namespace: demo
annotations:
yangtse.io/eip-id: 65eb3679-7a8d-4b24-b681-0b661axxxxcb
spec:
initContainers:
- name: init
image: busybox:latest
command: ['timeout', '60', 'sh', '-c', "until grep -E '[0-9]+' /etc/eipinfo/allocated-ipv4-eip; do echo waiting for allocated-ipv4-eip; sleep 2; done"]
volumeMounts:
- name: eipinfo
mountPath: /etc/eipinfo
volumes:
- name: eipinfo
downwardAPI:
items:
- path: "allocated-ipv4-eip"
fieldRef:
fieldPath: metadata.annotations['yangtse.io/allocated-ipv4-eip']
父主题: EIP