如何在本地构建多网络CNI插件multus-cni镜像并进行部署测试呢?

//如果本文章中的图片不能正常观看的,360浏览器可能会出现此种现象,可以使用Google Chrome浏览器进行正常观看。

multui-cni可以实现Pod的多网络功能,
https://github.com/intel/multus-cni/tree/v3.4

如何在本地构建多网络CNI插件multus-cni镜像并进行部署测试呢?_第1张图片
0-multus-cni 多网络CNI插件.jpg

如何在本地构建多网络CNI插件multus-cni镜像并进行部署测试呢?_第2张图片
00-multus-cni效果图.jpg

本次测试的版本是:3.4

本次的测试环境:

  • 三台虚拟机
  • centos7系统
  • kubernetes1.12.0
  • kubernetes集群的默认网络calico

如果可以在本地自由的构建镜像的话,就可以进行定制化开发了。

如果想在自己本地构建multus-cni镜像的话,需要修改一下:

  • Dockerfile,
  • build
  • entrypoint.sh

三个文件。

本文主要内容:

  • 1、更新Dockerfile文件

  • 2、更新build脚本

  • 3、更新entrypoint.sh脚本

  • 4、本地构建multus-cni镜像测试

  • 5、使用本地构建好的multus-cni镜像,重新部署multus-cni,并创建测试Pod,查看是否可以创建多网络

本文提供了两种方式:

方式一:

1、更新Dockerfile文件

Dockerfile更新后的内容如下:

# This Dockerfile is used to build the image available on DockerHub
FROM centos:centos7 as build

# 先安装
ENV INSTALL_PKGS "git golang"
RUN rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO && \
    curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo && \
    yum install -y $INSTALL_PKGS && \
    rpm -V $INSTALL_PKGS

# Add everything
ADD . /root/go/src/github.com/intel/multus-cni

# 构建可执行二进制文件multus
RUN  sh /root/go/src/github.com/intel/multus-cni/build

FROM centos:centos7
COPY --from=build /root/go/src/github.com/intel/multus-cni /root/go/src/github.com/intel/multus-cni
WORKDIR /

ADD ./images/entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]


如何在本地构建多网络CNI插件multus-cni镜像并进行部署测试呢?_第3张图片
1-Dockerfile.png

2、build脚本,更新后如下:

你可能感兴趣的:(如何在本地构建多网络CNI插件multus-cni镜像并进行部署测试呢?)