参考网址: https://github.com/kubernetes-incubator/kubespray/blob/master/docs/downloads.md
###kubespray download_run_once安装
在kubespray的官方文档中有介绍,kubespray可以通过只在安装节点上下载所需的docker镜像一次,然后会在ansible
脚本中通过docker save
,scp
,docker load
命令把所需的docker
镜像发送并加载到目标主机上。
采用这种方式,目标kubernetes
集群机器不需要同docker
私有仓库交互,kubespray升级docker镜像则无需在docker
私有仓库为kubernetes
集群机器管理多版本的docker
镜像,只需kubespray安装节点上能获取多版本的docker
镜像。
启动这种安装方式,只需配置两个变量download_run_once
和download_localhost
。
创建文件var.yaml
,内容如下
[root@localhost kubespray_centos_offline]# cat var.yaml
download_run_once: true
download_localhost: true
执行以下命令kubespray
安装kubernetes
。
ansible-playbook -i inventory/test/hosts.ini cluster.yml --extra-vars "@var.yaml" -vvv
###kubespray download_run_once安装原理
kubespray download_run_once安装通过在安装节点使用docker pull
命令拉取所需的镜像,并存放在/tmp/release/containers/*
目录下。然后执行ansible
脚本roles/download/tasks/sync_container.yml
把镜像推送并加载到目标kubernetes
集群。
镜像传送到目标kubernetes
集群的文件夹路径也是/tmp/release/containers/*
目录下。