使用Rancher和私有仓库快速搭建Kubernetes集群

来来来,先出题:Rancher可以快速部署Kubernetes,但其使用的gcr.io上的镜像无法下载怎么办?使用Rancher可以快速部署Kubernetes,但我们需要下载哪些镜像?Rancher支持私有镜像仓库,如何设置呢?


解题思路:

国内网络虽然不能直接访问gcr.io服务器,但是能够访问hub.docker.com镜像仓库,而hub.docker.com能够访问gcr.io服务器。利用这个特性,以及hub.docker.com自身的“Create Automated Build”功能,读取github.com代码库上的自定义Dockerfile文件,自动创建部署Kubernetes所需的谷歌镜像。然后设置Rancher中Kubernetes模板,让我们的服务器去hub.docker.com中的私有仓库中拉取镜像。从而完成整个Kubernetes的部署过程。


问题1:谷歌服务器gcr.io上的镜像无法访问怎么办?

《获取 Kubernetes 镜像的方法》http://blog.csdn.net/shida_csdn/article/details/78480241  这篇文件以及图文并茂的讲解得非常清楚了。


问题2:使用Rancher快速部署Kubernetes需要哪些镜像?

《Rancher v1.6.14部署K8S1.8.5所需的镜像列表》http://blog.csdn.net/CSDN_duomaomao/article/details/79127856   ,本文以1.6.14版本为例。

特别说明:

1、rancher_cn打头的镜像中,tiller这个镜像很特殊,它是kubernetes部署工具 helm的服务端组件,原镜像的全名是gcr.io/kubernetes-helm/tiller:v2.6.1 ,rancher中国区的私有仓库镜像名称为:

registry.cn-shenzhen.aliyuncs.com/rancher_cn/tiller:v2.6.1

我在Github中私有代码库中的tiller/v2.6.1/Dockerfile文件内容为:

FROM gcr.io/kubernetes-helm/tiller:v2.6.1

MAINTAINER [email protected]

2、其他镜像前缀都是gcr.io/google_containers/:

registry.cn-shenzhen.aliyuncs.com/rancher_cn/pause-amd64 3.0

registry.cn-shenzhen.aliyuncs.com/rancher_cn/kubernetes-dashboard-amd64 v1.8.0

registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-sidecar-amd64 1.14.5

registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-kube-dns-amd64 1.14.5

registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-dnsmasq-nanny-amd64 1.14.5

registry.cn-shenzhen.aliyuncs.com/rancher_cn/heapster-influxdb-amd64 v1.3.3

registry.cn-shenzhen.aliyuncs.com/rancher_cn/heapster-grafana-amd64 v4.4.3

registry.cn-shenzhen.aliyuncs.com/rancher_cn/heapster-amd64 v1.4.0

我在Github 中私有代码库中的pause-amd64/3.0/Dockerfile文件内容为:

FROM gcr.io/google_containers/pause-amd64:3.0

MAINTAINER [email protected]

其余的heapster和k8S 打头的镜像也一样,Dockerfile文件非常简单,就是直接引用gcr.io上的镜像。

......


问题3:Rancher中私有仓库如何设置?

《rancher中国区加速安装Kubernetes》https://anjia0532.github.io/2017/11/13/rancher-k8s-china/

Rancher中Kubernetes模板设置要点:

Private Registry for Add-Ons and Pod Infra Container Image index.docker.io

Image namespace for Add-Ons and Pod Infra Container Image dockermaomao

Image namespace for kubernetes-helm Image dockermaomao

Pod Infra Container Image dockermaomao


运行截图:

01-github内容

02-其中一个镜像的自动创建设置(pause-amd64)

02-其中一个镜像的自动创建设置(kubernetes-dashboard-amd64)

03-如何生成自动创建镜像

03-如何生成自动创建镜像2

03-如何生成自动创建镜像3

03-如何生成自动创建镜像4

04-自动创建后Dockerhub镜像仓库内容

04-自动创建后Dockerhub镜像仓库内容2

05-Rancher中的Kubernetes模板环境设置-关键4个参数

06-使用Rancher部署Kubernetes后,面板中显示,使用的是私有仓库的镜像

01-github内容

02-其中一个镜像的自动创建设置(pause-amd64)

02-其中一个镜像的自动创建设置(kubernetes-dashboard-amd64)

03-如何生成自动创建镜像

03-如何生成自动创建镜像2

03-如何生成自动创建镜像3

03-如何生成自动创建镜像4

04-自动创建后Dockerhub镜像仓库内容

04-自动创建后Dockerhub镜像仓库内容2

05-Rancher中的Kubernetes模板环境设置-关键4个参数

06-使用Rancher部署Kubernetes后,面板中显示,使用的是私有仓库的镜像

参考链接:

获取 Kubernetes 镜像的方法:

http://blog.csdn.net/shida_csdn/article/details/78480241

Rancher v1.6.14部署K8S1.8.5所需的镜像列表:

http://blog.csdn.net/CSDN_duomaomao/article/details/79127856

rancher中国区加速安装Kubernetes:

https://anjia0532.github.io/2017/11/13/rancher-k8s-china/

rancher安装Kubernetes:

https://anjia0532.github.io/2017/11/10/rancher-k8s/

本文的Github代码:

https://github.com/colindaddy/googlecontainer

本文的dockerhub镜像库:

https://hub.docker.com/u/dockermaomao/

原文地址:http://blog.51cto.com/10321203/2071418

时间: 2024-08-29 17:07:12

使用Rancher和私有仓库快速搭建Kubernetes集群的相关文章

使用Kubeadm(1.13)快速搭建Kubernetes集群

Kubeadm是管理集群生命周期的重要工具,从创建到配置再到升级,Kubeadm处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心Kubernetes组件,以便为新节点提供安全而简单的连接流程并支持轻松升级.随着Kubernetes 1.13 的发布,现在Kubeadm正式成为GA. 准备 首先准备2台虚拟机(CPU最少2核),我是使用Hyper-V创建的2台Ubuntu18.04虚拟机,IP和机器名如下: 172.17.20.210 master 172.17.20.211 node1

rancher搭建kubernetes集群

实验环境: 利用rancher搭建kubernetes集群,及搭建和关联harbor私有镜像库. rancher:http://10.10.10.10:8888 kubernetes:10.10.10.10 harbor:10.10.10.100 images:10.10.10.100/test_nginx:latest app:nginx 实验目的: 一.实践docker:search pull.run.tag.build.push功能.了解参数含义 #docker search *image

阿里云ECS搭建Kubernetes集群踩坑记

阿里云ECS搭建Kubernetes集群踩坑记 [TOC] 1. 现有环境.资源 资源 数量 规格 EIP 1 5M带宽 ECS 3 2 vCPU 16 GB内存 100G硬盘 ECS 3 2 vCPU 16 GB内存 150G硬盘 SLB 2 私网slb.s1.small 2. 规划 坑: 上网问题,因为只有一个EIP,所有其它节点只能通过代理上网; 负载均衡问题,因为阿里不支持LVS,负载均衡TCP方式后端又不支持访问负载均衡,HTTP和HTTPS方式,只支持后端协议为HTTP; 为了避免上

Shell脚本快速部署Kubernetes集群系统

本文紧跟上节所讲的手动部署Kubernetes管理Docker篇所写,本篇主要内容利用Shell脚本完成快速部署Kubernetes集群.上节博文看过的朋友也能感觉到部署过程相对比较简单,那么,出于简化工作流程,推进运维自动化角度来说,于是花了2/3天时间写这个部署Kubernetes脚本. 运维工作中,常常会遇到部署各种各样的服务,建议:常规部署都应该尽量使用脚本完成,一方面提高自身脚本编写能力,另一方面推进运维自动化. 详细部署说明文档:http://lizhenliang.blog.51c

快速搭建Jenkins集群

关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故障的隐患也有分散作用,今天就来实战快速搭建Jenkins集群,Jenkins版本是2.190.2: 如何做到快速搭建集群 通过Docker可以省去大部分准备工作,您只需在Linux电脑上安装docker,在辅以少量命令和操作即可完成集群搭建: 环境信息 本次实战的环境一共要用三台电脑,它们的设置都是

使用Rancher的RKE快速部署Kubernetes集群

简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linux-amd64从github上下载下来,重新命名为rke ,编辑好cluster.yml集群部署文件,使用putty提供的pscp命令,将文件上传到3.161机器上.在3.161机器上,执行rke命令,将集群部署到3.162和3.163机器上. 只要环境配置正确,部署非常快,整个集群5分钟搞定. 准

基于 CentOS 7 搭建kubernetes集群

基于Centos7构建Kubernetes平台 一.实验环境 3台centos7的主机: master  192.168.111.131部署etcd,kube-apiserver,kube-controller-manager,kube-scheduler 4个应用. node01  192.168.111.130  部署docker,kubelet, kube-proxy  3个应用 node02  192.168.111.129  部署docker,kubelet, kube-proxy  

kubeadm搭建kubernetes集群

一.环境准备首先我的三个ubuntu云主机的配置如下 cpu数量 内存 磁盘 Ubuntu 2 8G 20G 18.04LTS 而且能保证三台机器都能连接外网这里的所有命令都是在root用户下操作的二.安装 1.在所有的节点上安装Docker和kubeadm [email protected]:~# apt-get install curl -y [email protected]:~# curl -s https://packages.cloud.google.com/apt/doc/apt-

从centos7镜像到搭建kubernetes集群(kubeadm方式安装)

在网上看了不少关于Kubernetes的视频,虽然现在还未用上,但是也是时候总结记录一下,父亲常教我的一句话:学到手的东西总有一天会有用!我也相信在将来的某一天会用到现在所学的技术.废话不多扯了.... 一.前期准备 1.k8s-master01:master主服务器(存在单点故障) 2.k8s-node01.k8s-node02:2个工作节点 3.Harbor:私有仓库(简单记录搭建Harbor私服仓库) 4.Router:软路由(由于kubeadm是存放在谷歌云的,国内无法访问,K8S集群搭