Day 02 海外镜像构建
一、找到我们需要的网络插件
1.Github搜索我们需要的插件
然后我们阅读readme文档,上面有如何工作,介绍等信息,我们找到找到如下内容
我们的是1.19版本,所以需要使用这条命令
2.查看文件内容
2.1 我们可以直接查看到里面的相关信息,浏览器输入地址
2.2 也可以通过linux的wget功能下载下来查看
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 有用 默认保存为 kube-flannel.yml
查看
vim kube-flannel.yml
2.3 分析
因为这是一个部署文件,他是依赖于docker的,那么它部署的应该就是docker 镜像,那么我么来查看一下 它里面的镜像
cat kube-flannel.yml | grep image
--------------------------------------------------
image: quay.io/coreos/flannel:v0.13.1-rc1
image: quay.io/coreos/flannel:v0.13.1-rc1 # 这其实是一个镜像 用了两次
我们可以尝试着取拉下来,但是它默认是国外的源,可能会拉不下来
docker pull quay.io/coreos/flannel:v0.13.1-rc1
拉不下来话
我们可以通过云服务平台,通过他们的海外源拉到国内的自己项目的仓库里,然后从自己的仓库拉去
二、通过云服务平台构建镜像
1 登录云服务平台,通过控制台进入服务列表进入代码托管服务
1.1 找到代码托管
1.2创建代码项目
如果第一次进入是需要购买的 也不用花钱 0元购买,然后我们立即使用创建项目仓库
这里创建的是k8s项目,后面要用到
注意:第一次创建镜像(后面)的时候需要绑定自己的云code账号,但是新版本是无法绑定的,我们需要使用旧版本,然后输入邮箱令牌进行创建!
1.3跳转到已创建的项目-添加文件分支
1.4 创建Dockefile文件
这里需要是创建flannel文件夹然后在创建Dockerfile文件 如果只写一个默认是文件,不是文件夹
2.创建镜像项目仓库
这样仓库就创建好了,然后我们进入到一个仓库,构建镜像
3.镜像构建
点击构建------------>添加规则
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-32eaLl4X-1607442152410)(C:\Users\S\AppData\Roaming\Typora\typora-user-images\image-20201208210942726.png)]
规则添加完后就可以构建了
这样镜像就构建好了
4.使用
回到k8s网络插件的安装,由于1.17版本之上需要执行kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml命令,这条命令的主要的内容是从海外地址拉取镜像,由于各种原因导致我们无法从海外拿到镜像,但是我们可以拿到这个文件,所以我们需要通过修改这个文件中的镜像源,来实现拉取镜像的目的
那么我们通过海外镜像构建拿到了需要的镜像,所以我们可以将海外镜像源修改为我们自己的就可以了
修改kube-flannel.yml镜像源配置
vim kube-flannel.yml
a insert 模式进行编辑
/image 找到镜像位置
替换为自己的镜像源
镜像版本与步骤三中的一致
registry.cn-hangzhou.aliyuncs.com/k8s2me/flannel99:v0.13.1-crl
注意 image: 后面是有一个空格的!
kubectl apply -f kube-flannel.yml
最后等他初始化完成