# 阿里云 + github 构建镜像仓库解决 k8s.gcr.io 访问
由于 k8s.gcr.io/ 镜像仓库位于国外,国内使用 kubeadm 构建 docker 集群时无法访问相应的 docker 镜像。
# 1. 登录 Github 创建仓库
# 2. 创建 Dockerfile
仓库下面创建一个 Dockerfile,以 ingress-nginx-controller 为例下的 dockerfile 内容如下:
[root@manager ~]# mkdir ingress-nginx-controller
[root@manager ~]# cd ingress-nginx-controller/
[root@manager ingress-nginx-controller]# cat Dockerfile
FROM registry.k8s.io/ingress-nginx/controller:v1.12.1
# 3. SSH 免密登录 GitHub
[root@manager ingress-nginx-controller]# ssh-keygen
[root@manager ingress-nginx-controller]# cat ~/.ssh/id_rsa.pub
进入 GitHub 的个人设置,找到【SSH and GPG keys】,然后点击新增 SSH Key,进入如下界面,title 输入你对于当前 SSH key 的备注,下面的 key 就粘贴上一步生成的 id_rsa.pub 内的内容
# 4. 推送 Dockerfile 至 Github
[root@manager ingress-nginx-controller]# yum install git -y
[root@manager ingress-nginx-controller]# git --version
[root@manager ingress-nginx-controller]# git config --global user.email "373370405@qq.com"
[root@manager ingress-nginx-controller]# git config --global color.ui true
[root@manager ingress-nginx-controller]# git init
[root@manager ingress-nginx-controller]# git add .
[root@manager ingress-nginx-controller]# git commit -m "first commit"
[root@manager ingress-nginx-controller]# git branch -M main
[root@manager ingress-nginx-controller]# git remote add origin git@github.com:xyapples/ingress-nginx-controller.git #添加远程仓库
[root@manager ingress-nginx-controller]# git remote -v
[root@manager ingress-nginx-controller]# git push -u origin main
[root@manager ingress-nginx-controller]# git remote remove origin #移除远程仓库
# 5. 登录阿里云创建镜像仓库
登录阿里云镜像:https://cr.console.aliyun.com/,创建镜像仓库: