1、CCM组件cloud-provider-openstack编译docker镜像

编译命令为

# make images

但是直接编译时会出现访问国外源超时的情况

2、解决国外源超时问题

需要修改cloud-provider-openstack所有插件的Dockerfile文件

这些插件的Dockerfile都需要修改

# pwd
/home/work/k8s/code/src/k8s.io/cloud-provider-openstack
# ls -l cluster/images/
total 0
drwxr-xr-x. 2 root root 24 Jun 13 10:18 barbican-kms-plugin
drwxr-xr-x. 2 root root 24 Jun 13 10:18 cinder-csi-plugin
drwxr-xr-x. 2 root root 24 Jun 13 10:18 cinder-provisioner
drwxr-xr-x. 2 root root 24 Jun 13 10:17 controller-manager
drwxr-xr-x. 2 root root 95 Jun 13 10:17 flex-volume-driver
drwxr-xr-x. 2 root root 24 Jun 13 10:18 magnum-auto-healer
drwxr-xr-x. 2 root root 24 Jun 13 10:18 manila-csi-plugin
drwxr-xr-x. 2 root root 24 Jun 13 10:18 manila-provisioner
drwxr-xr-x. 2 root root 24 Jun 13 10:18 octavia-ingress-controller
drwxr-xr-x. 2 root root 24 Jun 13 10:18 webhook

这些插件的Dockerfile分为两类
一类是基于alpine构建镜像的,Dockerfile第一行为

FROM alpine:3.7

这一类如何修改Dockerfile可参考另外一篇博文:
构建docker镜像时fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz超时

还有一类是基于debian构建,Dockerfile第一行为

FROM k8s.gcr.io/debian-base-amd64:v2.0.0

这类在K8S的v1.17.0版本中只有cinder-csi-plugin插件

在安装版本包之前增加一行,修改源

RUN echo "deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free" > /etc/apt/sources.list

# Install e4fsprogs for format
RUN clean-install ca-certificates e2fsprogs mount xfsprogs udev

3、编译docker镜像

编译好的docker镜像直接load到了本地镜像仓库

# docker images
REPOSITORY                                            TAG                            IMAGE ID            CREATED             SIZE
k8scloudprovider/openstack-cloud-controller-manager   1fa8b21d-dirty                 e76069d33ef6        13 minutes ago      46.4MB
k8scloudprovider/magnum-auto-healer                   1fa8b21d-dirty                 e26f6891453d        About an hour ago   37MB
k8scloudprovider/barbican-kms-plugin                  1fa8b21d-dirty                 e0b39bbe7e0a        About an hour ago   33.9MB
k8scloudprovider/manila-csi-plugin                    1fa8b21d-dirty                 771917ab6a4a        About an hour ago   34.9MB
k8scloudprovider/manila-provisioner                   1fa8b21d-dirty                 0a9a7929739f        About an hour ago   40.6MB
k8scloudprovider/octavia-ingress-controller           1fa8b21d-dirty                 b0ac80ea7508        About an hour ago   38.2MB
k8scloudprovider/k8s-keystone-auth                    1fa8b21d-dirty                 e2e17f7aacd2        About an hour ago   34.6MB
k8scloudprovider/cinder-csi-plugin                    1fa8b21d-dirty                 6f10ab717124        About an hour ago   177MB
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐