Blogs

使用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.

继续阅读

OVN虚拟网络出网网关配置

SuKai in OVN

前一篇文章介绍了,OVN虚拟网络访问主机网络的方式,下面一起看一下Kube-OVN如何配置OVN虚拟网络访问外部网络的。 访问主机网络 1,每台主机上配置ovn0接口,通过internal port方式与虚拟网络连接。 2,主机上配置路由条目,将虚拟网段路由指向join子网网关地址,使主机能够路由到虚拟网络。 3,OVN路由器上配置默认路由到join子网网关地址,并配置策略路由条目:目标为主机地址到主机的ovn0接口重路由,使虚拟网络能够到主机网络。 # 策略路由方式, kube-ovn采用的是策略路由 sudo ovn-nbctl lr-policy-add router 30000 "ip4.dst == 192.168.10.89" reroute 100.64.0.3 sudo ovn-nbctl lr-policy-add router 30000 "ip4.dst == 192.168.10.40" reroute 100.64.0.2 # 静态路由方式 sudo ovn-nbctl lr-route-add router 192.168.10.89 100.64.0.3 sudo ovn-nbctl lr-route-add router 192.168.10.40 100.64.0.2 # 主机IP 192.168.10.89 ovn0接口IP 100.64.0.3 # 主机IP 192.168.10.40 ovn0接口IP 100.64.0.2 访问外部网络 有两种出网方式,分布式出网网关和集中式出网网关 1,配置路由策略,来源于虚拟网络子网网段到下一跳进行重路由,这里下一跳是主机的join子网ovn0地址。如果是分布式的可以根据不同的源地址指定到不同主机上,如果是集中式的,全部到某一台主机上路由出网。 2,网络地址转换MASQUERADE,当虚拟网络子网的数据包从主机网卡上访问外网时,源地址伪装为主机地址。 sudo ovn-nbctl lr-policy-add router 29000 "ip4.src == 10.0.0.0/24" reroute 100.64.0.2 sudo ovn-nbctl lr-policy-add router 29000 "ip4.

继续阅读