其他
国内拉取google Kubernetes镜像
在部署kubernetes集群时,需要从google镜像仓库获取kubernetes组件相关镜像,以及从coreos仓库获取flannel网络插件等镜像,但dockerhub或阿里云仓库基本能够搜索到他人上传的包含这2个仓库中的镜像,我们只需要拉取到本地以后改回默认的镜像tag即可。
另外dockerhub对google仓库做了镜像mirror,因此可以在google镜像名称前加mirrorgooglecontainers,即可直接在dockerhub拉取google镜像,拉取到本地后同样改回google仓库默认tag即可。
# google镜像默认格式
k8s.gcr.io/kube-apiserver:v1.13.2
# dockerhub拉取镜像
$ docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.2
# 修改tag
$ docker tag mirrorgooglecontainers/kube-apiserver-amd64:v1.13.2 k8s.gcr.io/kube-apiserver-amd64:v1.13.2
# 成功拉取的镜像
$ docker images | grep kube-apiserver
mirrorgooglecontainers/kube-apiserver-amd64 v1.13.2 177db4b8e93a 2 months ago 181MB
k8s.gcr.io/kube-apiserver-amd64 v1.13.2 177db4b8e93a 2 months ago 181MB
从阿里云镜像仓库搜索并拉取
# 从阿里云镜像仓库拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.13.0
# 修改镜像tag
$ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.13.0 k8s.gcr.io/kube-apiserver:v1.13.0
push-images.sh 脚本文件
imagepath.txt 镜像列表文件
.travis.yaml 自动构建文件
#!/bin/bash
for imagepath in $(cat ./imagepath.txt)
do
imagename=$(echo $imagepath | awk -F '/' '{print $NF}')
docker pull $imagepath
# push到阿里云仓库
docker tag $imagepath registry.cn-hangzhou.aliyuncs.com/aliwill/$imagename
docker push registry.cn-hangzhou.aliyuncs.com/aliwill/$imagename
# push到dockerhub
docker tag $imagepath willdockerhub/$imagename
docker push willdockerhub/$imagename
done
gcr.io/google-containers/kube-apiserver-amd64:v1.12.0
quay.io/external_storage/nfs-client-provisioner:latest
language: bash
services:
- docker
script:
- docker login -u $ALI_USERNAME registry.cn-hangzhou.aliyuncs.com -p $ALI_PASSWORD
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- bash push-images.sh
这里需要登录阿里云或dockerhub才能执行docker push操作,其中$ALI_USERNAME这类变量在TravisCI管理界面定义好即可。
TravisCI配置
访问travis官网:https://www.travis-ci.org/, 使用github账号登录。
开启需要进行自动化构建的仓库即可:
--end--
K8S培训推荐
Kubernetes线下实战培训,采用3+1+1新的培训模式(3天线下实战培训,1年内可免费再次参加,每期前10名报名,可免费参加价值3600元的线上直播班;),资深一线讲师,实操环境实践,现场答疑互动,培训内容覆盖:Kubernetes集群搭建、Kubernetes设计、Pod、常用对象操作,Kuberentes调度系统、QoS、Helm、网络、存储、CI/CD、日志监控等。点击查看更多课程信息!成都:8月16-18日
推荐阅读