kubernetes安装文档

一 系统配置
1 关闭SELIUX
vi /etc/selinux/config
SELINUX=disabled
注:不要修改SELINUXTYPE=targeted
若修改错误解决方案
1.重启系统时候在如下页面选择你要进的内核,按 E ,grub编辑页面。
2.找到linux16那行 在LANG=zh_CN.UTF-8 空格 加上 selinux=0或者 enforcing=0(我是第一个就解决问题了)
3.之后Ctrl+x启动,之后等会就会看到熟悉的页面了。要说一点的是,可能会在下图所示页面卡顿一会,等会就行了
2 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3 配root免登录
cd ~
mkdir .ssh
chmod 700 .ssh
cd .ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
cat *.pub > authorized_keys
chmod 644 authorized_keys
然后将所有节点的authorized_keys合并成一个文件
节点A
scp authorized_keys cluster-02:/home/hadoop/.ssh/node1
节点B
cat node1>>authorized_keys
再将合并后的文件覆盖authorized_keys
4 配置/etc/hosts
vi /etc/hosts
192.168.200.221 k8smaster
192.168.200.222 k8smaster2
192.168.200.223 k8snode
5 关闭系统swap
swapoff -a && sysctl -w vm.swappiness=0
sed ‘/swap.img/d’ -i /etc/fstab
注释掉/etc/fstab中swap挂载
6 设置系统参数
modprobe br_netfilter
cat <

!/bin/bash

ipvs_modules_dir=”/usr/lib/modules/`uname -r`/kernel/net/netfilter/ipvs”
for i in `ls $ipvs_modules_dir | sed -r ‘s#(.*).ko.xz#\1#’`; do
/sbin/modinfo -F filename $i &> /dev/null
if [ $? -eq 0 ]; then
/sbin/modprobe $i
fi
done
EOF

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs
cp /etc/sysconfig/modules/ipvs.modules /lib/modules

kube-proxy 是实现 Kubernetes Service 资源功能的关键组件,这个组件会通过 DaemonSet 在每台节点上执行,然后监听 API Server 的 Service 与 Endpoint 资源对象的事件,并依据资源预期状态通过 iptables 或 ipvs 来实现网络转发,而本次安装采用 ipvs。
在k8s-m1通过kubeclt执行下面指令来建立,并检查是否部署成功:
export KUBE_APISERVER=https://192.168.200.225:6443
编辑vi /root/k8s-manual-files/addons/kube-proxy/kube-proxy-cm.yml
server: K U B E A P I S E R V E R {KUBE_APISERVER}为KUBE_APISERVER
编辑vi addons/kube-proxy/kube-proxy.yml
修改镜像版本为image: k8s.gcr.io/kube-proxy-amd64:v1.11.2

kubectl create -f addons/kube-proxy/
kubectl -n kube-system get po -l k8s-app=kube-proxy

kubectl -n kube-system logs -f kube-proxy-fwgx8
若有安装 ipvsadm 的话,可以通过以下指令查看 proxy 规则:
yum -y install ipvsadm
ipvsadm -ln

6.2 CoreDNS
本节将通过 CoreDNS 取代 Kube DNS 作为集群服务发现组件,由于 Kubernetes 需要让 Pod 与 Pod 之间能够互相沟通,然而要能够沟通需要知道彼此的 IP 才行,而这种做法通常是通过 Kubernetes API 来取得达到,但是 Pod IP 会因为生命周期变化而改变,因此这种做法无法弹性使用,且还会增加 API Server 负担,基于此问题 Kubernetes 提供了 DNS 服务来作为查询,让 Pod 能够以 Service 名称作为域名来查询 IP 地址,因此用户就再不需要关切实际 Pod IP,而 DNS 也会根据 Pod 变化更新资源纪录(Record resources)。
CoreDNS 是由 CNCF 维护的开源 DNS 项目,该项目前身是 SkyDNS,其采用了 Caddy 的一部分来开发服务器框架,使其能够建构一套快速灵活的 DNS,而 CoreDNS 每个功能都可以被实作成一个插件的中间件,如 Log、Cache、Kubernetes 等功能,甚至能够将源纪录储存至 Redis、Etcd 中。
在k8s-m1通过kubeclt执行下面指令来建立,并检查是否部署成功:
cd /root/k8s-manual-files/addons
k u b e c t l c r e a t e f c o r e d n s / kubectl -n kube-system get po -l k8s-app=kube-dns

这边会发现 Pod 处于Pending状态,这是由于 Kubernetes 的集群网络没有建立,因此所有节点会处于NotReady状态,而这也导致 Kubernetes Scheduler 无法替 Pod 找到适合节点而处于Pending,为了解决这个问题,下节将说明与建立 Kubernetes 集群网络。
注:
1、若 Pod 是被 DaemonSet 管理的话,则不会 Pending,不过若没有设定hostNetwork则会出问题。
7 Kubernetes集群网路
Kubernetes 在默认情况下与 Docker 的网络有所不同。在 Kubernetes 中有四个问题是需要被解决的,分别为:
• 高耦合的容器到容器沟通:通过 Pods 与 Localhost 的沟通来解决。
• Pod 到 Pod 的沟通:通过实现网络模型来解决。
• Pod 到 Service 沟通:由 Services object 结合 kube-proxy 解决。
• 外部到 Service 沟通:一样由 Services object 结合 kube-proxy 解决。
而 Kubernetes 对于任何网络的实现都需要满足以下基本要求(除非是有意调整的网络分段策略):
• 所有容器能够在没有 NAT 的情况下与其他容器沟通。
• 所有节点能够在没有 NAT 情况下与所有容器沟通(反之亦然)。
• 容器看到的 IP 与其他人看到的 IP 是一样的。
庆幸的是 Kubernetes 已经有非常多种的网络模型以网络插件(Network Plugins)方式被实现,因此可以选用满足自己需求的网络功能来使用。另外 Kubernetes 中的网络插件有以下两种形式:
• CNI plugins:以 appc/CNI 标准规范所实现的网络,详细可以阅读 CNI Specification。
• Kubenet plugin:使用 CNI plugins 的 bridge 与 host-local 来实现基本的 cbr0。这通常被用在公有云服务上的 Kubernetes 集群网络。
7.1网路部署与设定
从上述了解 Kubernetes 有多种网络能够选择,而本教学选择了 Calico 作为集群网络的使用。Calico 是一款纯 Layer 3 的网络,其好处是它整合了各种云原生平台(Docker、Mesos 与 OpenStack 等),且 Calico 不采用 vSwitch,而是在每个 Kubernetes 节点使用 vRouter 功能,并通过 Linux Kernel 既有的 L3 forwarding 功能,而当数据中心复杂度增加时,Calico 也可以利用 BGP route reflector 来达成。
由于 Calico 提供了 Kubernetes resources YAML 文件来快速以容器方式部署网络插件至所有节点上,因此只需要在k8s-m1通过 kubeclt 执行下面指令来建立:
c d   / k 8 s m a n u a l f i l e s sed -i ‘s/192.168.0.0\/16/10.244.0.0\/16/g’ cni/calico/v3.1/calico.yml
k u b e c t l c r e a t e f c n i / c a l i c o / v 3.1 / 1 C A L I C O I P V 4 P O O L C I D R C l u s t e r I P C I D R 10.244.0.0 i p 2 50 使 C a l i c o T y p h a K u b e r n e t e s d a t a s t o r e A P I S e r v e r k u b e c t l kubectl -n kube-system get po -l k8s-app=calico-node
$ kubectl -n kube-system logs -f kube-proxy-fwgx8

确认 calico-node 都正常运作后,通过 kubectl exec 进入 calicoctl pod 来检查功能是否正常:
$ kubectl exec -ti -n kube-system calicoctl – calicoctl get profiles -o wide

$ kubectl exec -ti -n kube-system calicoctl – calicoctl get node -o wide

完成后,通过检查节点是否不再是NotReady,以及Pod是否不再处于Pending:
$ kubectl get no

$ kubectl -n kube-system get po -l k8s-app=kube-dns -o wide

当成功到这边时,一个能运作的 Kubernetes 集群基本上就完成了,接下来将介绍一些好用的 Addons 来帮助使用与管理 Kubernetes。
8 Kubernetes Extra Addons部署
本节说明如何部署一些官方常用的额外 Addons,如 Dashboard、Metrics Server 与 Ingress Controller 等等。
所有 Addons 部署文件均存已放至k8s-manual-files中,因此在k8s-m1进入该目录,并依序下小节建立:
c d   / k 8 s m a n u a l f i l e s 8.1 I n g r e s s C o n t r o l l e r I n g r e s s K u b e r n e t e s W e b S e r v e r V i r t u a l H o s t ( D o m a i n N a m e ) S e r v i c e 使 S e r v i c e N o d e P o r t L o a d B a l a n c e r ( P o r t ) I n g r e s s I n g r e s s C o n t r o l l e r K u b e r n e t e s A P I I n g r e s s S e r v i c e W e b S e r v e r I n g r e s s C o n t r o l l e r I n g r e s s N G I N X : K u b e r n e t e s 使 C o n t r o l l e r F 5 B I G I P C o n t r o l l e r : F 5 C o n t r o l l e r C L I A P I K u b e r n e t e s O p e n S h i f t F 5 B I G I P I n g r e s s K o n g : A P I G a t e w a y K u b e r n e t e s I n g r e s s C o n t r o l l e r T r æ f i k : H T T P I n g r e s s V o y a g e r : H A P r o x y I n g r e s s C o n t r o l l e r k 8 s m 1 I n g r e s s C o n t r o l l e r e x p o r t I N G R E S S V I P = 192.168.200.226 sed -i "s/${INGRESS_VIP}/ I N G R E S S V I P / g a d d o n s / i n g r e s s c o n t r o l l e r / i n g r e s s c o n t r o l l e r s v c . y m l kubectl create ns ingress-nginx
k u b e c t l a p p l y f a d d o n s / i n g r e s s c o n t r o l l e r kubectl -n ingress-nginx get po,svc
当确认上面步骤都没问题后,就可以通过kubeclt建立简单NGINX来测试功能:
$ kubectl apply -f apps/nginx/

$ kubectl get po,svc,ing

完成后通过cURL工具来测试功能是否正常:
$ curl 192.168.200.226 -H ‘Host: nginx.k8s.local’

若出现503错误请等待一会,可能是服务器负载过高
虽然 Ingress 能够让我们通过域名方式存取 Kubernetes 内部服务,但是若域名于法被测试机器解析的话,将会显示default backend – 404结果,而这经常发生在内部自建环境上,虽然可以通过修改主机/etc/hosts来描述,但并不弹性,因此下节将说明如何建立一个 External DNS 与 DNS 服务器来提供自动解析 Ingress 域名。
8.2 External DNS
External DNS 是 Kubernetes 小区的孵化项目,被用于定期同步 Kubernetes Service 与 Ingress 资源,并依据资源内容来自动设定公有云 DNS 服务的资源纪录(Record resources)。而由于部署不是公有云环境,因此需要通过 CoreDNS 提供一个内部 DNS 服务器,再由 ExternalDNS 与这个 CoreDNS 做串接。
首先在k8s-m1执行下述指令来建立CoreDNS Server,并检查是否部署正常:
e x p o r t D N S V I P = 192.168.200.226 sed -i "s/${DNS_VIP}/ D N S V I P / g a d d o n s / e x t e r n a l d n s / c o r e d n s / c o r e d n s s v c t c p . y m l sed -i "s/${DNS_VIP}/ D N S V I P / g a d d o n s / e x t e r n a l d n s / c o r e d n s / c o r e d n s s v c u d p . y m l kubectl create -f addons/external-dns/namespace.yml
$ kubectl create -f addons/external-dns/coredns/

$ kubectl -n external-dns get po,svc

yum -y install bind-utils
dig @192.168.200.226 SOA nginx.k8s.local +noall +answer +time=2 +tries=1

接着部署ExternalDNS来与CoreDNS同步资源纪录:
$ kubectl apply -f addons/external-dns/external-dns/

$ kubectl -n external-dns get po -l k8s-app=external-dns

完成后,通过dig 与nslookup工具检查上节测试Ingress的NGINX服务:
dig @192.168.200.226 A nginx.k8s.local +noall +answer +time=2 +tries=1

修改vi /etc/resolv.conf
nameserver 192.168.200.226
8.3 Dashboard
Dashboard 是 Kubernetes 官方开发的 Web-based 仪表板,目的是提升管理 Kubernetes 集群资源便利性,并以资源可视化方式,来让人更直觉的看到整个集群资源状态,
在k8s-m1通过 kubeclt 执行下面指令来建立 Dashboard 至 Kubernetes,并检查是否正确部署:
c d   / k 8 s m a n u a l f i l e s kubectl apply -f addons/dashboard/
$ kubectl -n kube-system get po,svc -l k8s-app=kubernetes-dashboard

在这边会额外建立名称为anonymous-dashboard-proxy的 Cluster Role(Binding) 来让system:anonymous这个匿名用户能够通过 API Server 来 proxy 到 Kubernetes Dashboard,而这个 RBAC 规则仅能够存取services/proxy资源,以及https:kubernetes-dashboard:资源名称。
因此我们能够在完成后,通过以下连结来进入 Kubernetes Dashboard:
https://192.168.200.225:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
由于 Kubernetes Dashboard v1.7 版本以后不再提供 Admin 权限,因此需要通过 kubeconfig 或者 Service Account 来进行登入才能取得资源来呈现,这边建立一个 Service Account 来绑定cluster-admin 以测试功能:
k u b e c t l n k u b e s y s t e m c r e a t e s a d a s h b o a r d kubectl create clusterrolebinding dashboard –clusterrole cluster-admin –serviceaccount=kube-system:dashboard
S E C R E T = (kubectl -n kube-system get sa dashboard -o yaml | awk ‘/dashboard-token/ {print 3}’) kubectl -n kube-system describe secrets {SECRET} | awk ‘/token:/{print 2}’

8.4 Prometheus
由于 Heapster 将要被移弃,因此这边选用 Prometheus 作为第三方的集群监控方案。而本次安装采用 CoreOS 开发的 Prometheus Operator 用于管理在 Kubernetes 上的 Prometheus 集群与资源,更多关于 Prometheus Operator 的信息可以参考小弟的 Prometheus Operator 介绍与安装 文章。
首先在k8s-m1执行下述指令来部署所有Prometheus需要的组件:
kubectl apply -f addons/prometheus/
kubectl apply -f addons/prometheus/operator/
kubectl apply -f addons/prometheus/alertmanater/
kubectl apply -f addons/prometheus/node-exporter/
kubectl apply -f addons/prometheus/kube-state-metrics/
kubectl apply -f addons/prometheus/grafana/
kubectl apply -f addons/prometheus/kube-service-discovery/
kubectl apply -f addons/prometheus/prometheus/
kubectl apply -f addons/prometheus/servicemonitor/
完成后,通过kubectl检查服务是否正常运行:
$ kubectl -n monitoring get po,svc,ing

在客户端机器添加DNS服务器192.168.200.226
访问:
http://prometheus.monitoring.k8s.local/graph

8.5 Metrics Server
Metrics Server 是实现了资源 Metrics API 的组件,其目标是取代 Heapster 作为 Pod 与 Node 提供资源的 Usage metrics,该组件会从每个 Kubernetes 节点上的 Kubelet 所公开的 Summary API 中收集 Metrics。
首先在k8s-m1测试一下 kubectl top 指令:
$ kubectl top node

发现 top 指令无法取得 Metrics,这表示 Kubernetes 集群没有安装 Heapster 或是 Metrics Server 来提供 Metrics API 给 top 指令取得资源使用量。
由于上述问题,我们要在k8s-m1节点通过 kubectl 部署 Metrics Server 组件来解决:
k u b e c t l c r e a t e f a d d o n s / m e t r i c s e r v e r / kubectl -n kube-system get po -l k8s-app=metrics-server
注:
1、vi addons/metric-server/metrics-server-dp.yml
imagePullPolicy: Always 改为 IfNotPresent由于镜像被墙,所以采用ALWAYS无法启动

完成后,等待一点时间(约30s – 1m)收集指标,再次执行kubectl top指令查看:
$ kubectl top node

8.6 Helm Tiller Server
Helm 是 Kubernetes Chart 的管理工具,Kubernetes Chart 是一套预先组态的 Kubernetes 资源。其中Tiller Server主要负责接收来至 Client 的指令,并通过 kube-apiserver 与 Kubernetes 集群做沟通,根据 Chart 定义的内容,来产生与管理各种对应 API 对象的 Kubernetes 部署文件(又称为 Release)。
首先在k8s-m1安装Helm工具:
$ wget -qO- https://kubernetes-helm.storage.googleapis.com/helm-v2.9.1-linux-amd64.tar.gz | tar -zx
m v l i n u x a m d 64 / h e l m / u s r / l o c a l / b i n / n o d e s o c a t y u m y i n s t a l l s o c a t k 8 s m 1 H e l m kubectl -n kube-system create sa tiller
k u b e c t l c r e a t e c l u s t e r r o l e b i n d i n g t i l l e r c l u s t e r r o l e c l u s t e r a d m i n s e r v i c e a c c o u n t = k u b e s y s t e m : t i l l e r helm init –service-account tiller –upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 –stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
$ helm repo update

$ helm list

$ kubectl -n kube-system get po -l app=helm

$ helm version

测试Helm功能
这边部署简单Jenkins来进行功能测试:
h e l m i n s t a l l n a m e r e d i s t e s t s e t p e r s i s t e n c e . e n a b l e d = f a l s e , m a r i a d b . p e r s i s t e n c e . e n a b l e d = f a l s e s t a b l e / r e d i s kubectl get po,svc,ing -l app=redis-test-redis

若部署出错用以下指令查询详细信息
kubectl describe po -l app=redis-test-redis
根据提示显示进行配置

helm del –purge redis-test
附录:
一 阿里云镜像
由于官方images被墙,所以只能想别的办法,现在将阿里云的处理方式附录到以下,本地下载与网络下载选一个就行,所有节点都需要下载
1 设置yum源
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF

yum -y install epel-release
yum clean all
yum makecache
2 下载镜像

docker pull registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-proxy-amd64:v1.11.2
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-scheduler-amd64:v1.11.2
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-controller-manager-amd64:v1.11.2
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-apiserver-amd64:v1.11.2
docker pull quay.io/coreos/etcd:v3.3.8
docker pull docker.io/haproxy:1.7-alpine
docker pull docker.io/osixia/keepalived:1.4.5
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3
docker pull registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-typha:v0.7.4
docker pull quay.io/calico/node:v3.1.3
docker pull registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-cni:v3.1.3
docker pull registry.cn-beijing.aliyuncs.com/k8s_apps/defaultbackend:1.4
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.16.2
docker pull coredns/coredns:1.1.4
docker pull registry.opensource.zalan.do/teapot/external-dns:v0.5.4
docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64:v1.8.3
docker pull quay.io/coreos/prometheus-operator:v0.22.0
docker pull quay.io/coreos/kube-rbac-proxy:v0.3.1
docker pull quay.io/prometheus/prometheus
docker pull grafana/grafana:5.1.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-state-metrics:v1.3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/alertmanager
docker pull quay.io/prometheus/prometheus:v2.3.1
docker pull quay.io/coreos/prometheus-config-reloader:v0.22.0
docker pull quay.io/coreos/configmap-reload:v0.0.1
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-kernelsky/metrics-server-amd64:v0.2.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1
重命名镜像
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-proxy-amd64:v1.11.2 k8s.gcr.io/kube-proxy-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-scheduler-amd64:v1.11.2 k8s.gcr.io/kube-scheduler-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-controller-manager-amd64:v1.11.2 k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/kube-apiserver-amd64:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/etcd-amd64:3.2.18
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3 k8s.gcr.io/coredns:1.1.3
docker tag registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-typha:v0.7.4 quay.io/calico/typha:v0.7.4
docker tag registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-cni:v3.1.3 quay.io/calico/cni:v3.1.3
docker tag registry.cn-beijing.aliyuncs.com/k8s_apps/defaultbackend:1.4 gcr.io/google_containers/defaultbackend:1.4
docker tag registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-state-metrics:v1.3.1 quay.io/coreos/kube-state-metrics:v1.3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/alertmanager quay.io/prometheus/alertmanager
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-kernelsky/metrics-server-amd64:v0.2.1 gcr.io/google_containers/metrics-server-amd64:v0.2.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 gcr.io/kubernetes-helm/tiller:v2.9.1
3 本地安装
下载kubernetes-server-linux-amd64.tar.gz中包含镜像文件,可以用docker load < cloud-controller-manager.tar进行安装
docker load < cloud-controller-manager.tar
docker load < kube-aggregator.tar
docker load < kube-apiserver.tar
docker load < kube-controller-manager.tar
docker load < kube-proxy.tar
docker load < kube-scheduler.tar
以下包仍需网络下载
docker pull quay.io/coreos/etcd:v3.3.8
docker pull docker.io/haproxy:1.7-alpine
docker pull docker.io/osixia/keepalived:1.4.5
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3
docker pull registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-typha:v0.7.4
docker pull registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-cni:v3.1.3
docker pull registry.cn-beijing.aliyuncs.com/k8s_apps/defaultbackend:1.4
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.16.2
docker pull coredns/coredns:1.1.4
docker pull registry.opensource.zalan.do/teapot/external-dns:v0.5.4
docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64:v1.8.3
docker pull quay.io/coreos/prometheus-operator:v0.22.0
docker pull quay.io/coreos/kube-rbac-proxy:v0.3.1
docker pull quay.io/prometheus/prometheus
docker pull grafana/grafana:5.1.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-state-metrics:v1.3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/alertmanager
docker pull quay.io/prometheus/prometheus:v2.3.1
docker pull quay.io/coreos/prometheus-config-reloader:v0.22.0
docker pull quay.io/coreos/configmap-reload:v0.0.1
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/k8s-kernelsky/metrics-server-amd64:v0.2.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1
重命名镜像
docker tag k8s.gcr.io/kube-scheduler:v1.11.2 k8s.gcr.io/kube-scheduler-amd64:v1.11.2
docker tag k8s.gcr.io/kube-aggregator:v1.11.2 k8s.gcr.io/kube-aggregator-amd64:v1.11.2
docker tag k8s.gcr.io/kube-apiserver:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2
docker tag k8s.gcr.io/kube-controller-manager:v1.11.2 k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
docker tag k8s.gcr.io/kube-proxy:v1.11.2 k8s.gcr.io/kube-proxy-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3 k8s.gcr.io/coredns:1.1.3
docker tag registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-typha:v0.7.4 quay.io/calico/typha:v0.7.4
docker tag registry.cn-hangzhou.aliyuncs.com/criss/quay.io-calico-cni:v3.1.3 quay.io/calico/cni:v3.1.3
docker tag registry.cn-beijing.aliyuncs.com/k8s_apps/defaultbackend:1.4 gcr.io/google_containers/defaultbackend:1.4
docker tag registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-state-metrics:v1.3.1 quay.io/coreos/kube-state-metrics:v1.3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/alertmanager quay.io/prometheus/alertmanager
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-gcr-io-jxm/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/k8s-kernelsky/metrics-server-amd64:v0.2.1 gcr.io/google_containers/metrics-server-amd64:v0.2.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 gcr.io/kubernetes-helm/tiller:v2.9.1
4、进程无法启动
以上过程可能启动时间较长,因为需要下载docker镜像,和网速有关,假如进程无法running可以等待一段时间

猜你喜欢

转载自blog.csdn.net/ciqingloveless/article/details/81741988