内网环境离线部署k8s,docker
要全内网环境安装docker、k8s和相关依赖,需要在内部提供k8s、docker和linux更新yum源和内部镜像仓库提供kubeadm需要的各镜像。
一,内部yum源建立和内网docker、k8s安装
创建内部docker介质yum源
因为docker版本对linux相关包的依赖包括了对extra下的container-selinux版本要求,因此需要通过国内外网环境的linux base和extra源来建立本地docker源。
1,添加linux介质源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2, 添加docker介质源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
3, 通过如下命令download远程yum源文件,建立本地docker repo库
yumdownloader --resolve docker-ce --destdir /root/docker-ce
##或者yum install --downloadonly --downloaddir=/mnt/docker-ce docker-ce
createrepo -d /mnt/docker-ce
注:如果yumdownloader,createrepo工具不存在,可以通过linux base repo进行安装。
创建内部k8s介质yum源
通过国内外网可用kubernetes源建立本地源,比如可以通过aliyun来建立本地yum源。
1,添加aliyun提供的k8s下载镜像
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2, 执行如下命令download远程yum源文件,建立本地repo库
yumdownloader --resolve kubeadm --destdir /mnt/k8s
createrepo -d /mnt/k8s
如上操作将在本地/mnt/docker-ce建立docker可安装yum源、在/mnt/k8s下建立kubernetes可安装yum源,通过http服务提供其他主机安装,比如,通过如下配置nginx服务对外提供下载。nginx.conf关键配置如下:
server {
listen 80;
server_name yum.serve;
server_name public.serve;
server_name package.wcj.me;
access_log /usr/local/nginx/logs/share.access.log ;
error_log /usr/local/nginx/logs/share.error.log