使用Kaniko构建Docker镜像
在Kubernetes集群中构建容器镜像,有两种方式:1,Docker in Docker方式,将Kubernetes的主机节点的docker socket文件共享给Pod中的容器,在Pod容器中运行docker命令构建镜像。2,使用Kaniko来构建容器镜像,Kaniko不依赖Docker daemon,有用户态空间就能执行dockerfile的全部指令。这使得在Kubernetes中构建容器镜像变得简单又安全。 下面介绍两种在k8s中使用Kaniko构建容器镜像的方式,1,Kubeflow fairing构建容器镜像。2,GitLab流水线构建容器镜像。因为最近在接触kubeflow,所以才有了kubeflow fairing构建容器镜像的玩法,kubeflow fairing主要用于将开发人员完成的模型打包,用于在Kubernetes中创建训练任务。 | Kubeflow Fairing构建容器镜像 !pip install msrestazure -i https://pypi.tuna.tsinghua.edu.cn/simple --user import logging from kubeflow.fairing import constants from kubeflow.fairing.preprocessors import base as base_preprocessor DOCKER_REGISTRY = '192.168.0.93/ai' constants.constants.KANIKO_IMAGE = "aiotceo/kaniko-executor:v1.6.0" from kubeflow.fairing.builders import cluster # output_map is a map of extra files to add to the notebook. # It is a map from source location to the location inside the context. output_map = { "Dockerfile.