自定义设置BCI Pod的hosts
更新时间:2025-02-08
某些场景下,您可能需要自定义设置BCI Pod的hosts,例如拉取自建镜像仓库的镜像时,需要通过hosts明确镜像仓库的实际IP地址。本文介绍如何自定义设置BCI Pod级别的hosts(即/etc/hosts)。
配置说明
您可以通过bci.virtual-kubelet.io/pod-host-aliases 的Annotation自定义设置BCI Pod的hosts,支持传入多组IP和域名的映射关系,格式为:
                Plain Text
                
            
            1[{\"ip\":\"10.10.xx.xx\",\"hostnames\":[\"example.com\"]},{\"ip\":\"10.10.yy.yy\",\"hostnames\":[\"foo.com\",\"bar.com\"]}]
            
- Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
 - 仅支持在创建BCI Pod时添加BCI相关Annotation来生效BCI功能,更新BCI Pod时添加或者修改BCI相关Annotation均不会生效。
 
配置示例
例如拉取自建镜像仓库的镜像时,需要通过hosts明确镜像仓库的实际IP地址时,可参考以下YAML示例:
                Plain Text
                
            
            1apiVersion: apps/v1
2kind: Deployment
3metadata:
4  name: nginx
5  labels:
6    app: nginx
7spec:
8  replicas: 2
9  selector:
10    matchLabels:
11      app: nginx
12  template:
13    metadata:
14      name: nginx
15      labels:
16        app: nginx
17      annotations:
18        bci.virtual-kubelet.io/pod-host-aliases: "[{\"ip\":\"10.10.xx.xx\",\"hostnames\":[\"example.com\"]}]"
19    spec:
20      containers:
21      - name: nginx
22        image: example.com/test/nginx:1.7.9
23        ports:
24        - containerPort: 80
            