安装docker-ce
yum-config-manager --add-repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
如果不行改成下面这样
[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/$basearch/stableenabled=1gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-stable-debuginfo]name=Docker CE Stable - Debuginfo $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/debug-$basearch/stableenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-stable-source]name=Docker CE Stable - Sourcesbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/source/stableenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-edge]name=Docker CE Edge - $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/$basearch/edgeenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-edge-debuginfo]name=Docker CE Edge - Debuginfo $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/debug-$basearch/edgeenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-edge-source]name=Docker CE Edge - Sourcesbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/source/edgeenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-test]name=Docker CE Test - $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/$basearch/testenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-test-debuginfo]name=Docker CE Test - Debuginfo $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/debug-$basearch/testenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-test-source]name=Docker CE Test - Sourcesbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/source/testenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-nightly]name=Docker CE Nightly - $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/$basearch/nightlyenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-nightly-debuginfo]name=Docker CE Nightly - Debuginfo $basearchbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/debug-$basearch/nightlyenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg[docker-ce-nightly-source]name=Docker CE Nightly - Sourcesbaseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/source/nightlyenabled=0gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/gpg
有公网IP的ECS
echo ‘[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg‘>/etc/yum.repos.d/kubernetes.repo
VPC网络的ECS
echo ‘[kubernetes]name=Kubernetesbaseurl=http://mirrors.cloud.aliyuncs.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=http://mirrors.cloud.aliyuncs.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.cloud.aliyuncs.com/kubernetes/yum/doc/rpm-package-key.gpg‘>/etc/yum.repos.d/kubernetes.repo
所有节点安装
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable kubelet && systemctl start kubelet
Master节点
kubeadm init --kubernetes-version=1.12.3 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=master节点的IP
等了半天报错,原因是下载镜像失败
报错是因为我们是民主国家,你懂的,提供以下两种方案
1 手动方案
先修改默认存储位置和镜像加速
echo ‘{"registry-mirrors": ["https://registry.docker-cn.com"],"graph": "/data/docker"}‘ > /etc/docker/daemon.json
systemctl enable docker
systemctl start docker
[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.12.3[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.12.3[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.12.3[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.12.3[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.2.24[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1[root@k8s-m ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.2[root@k8s-m ~]# docker imagesREPOSITORY ?????????????????????????????????????????????????????????????????????????TAG ????????????????IMAGE ID ???????????CREATED ????????????SIZEregistry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64 ???????????????v1.12.1 ????????????61afff57f010 ???????12 days ago ????????96.6MBregistry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64 ???????????v1.12.1 ????????????dcb029b5e3ad ???????12 days ago ????????194MBregistry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64 ??v1.12.1 ????????????aa2dd57c7329 ???????12 days ago ????????164MBregistry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64 ???????????v1.12.1 ????????????d773ad20fd80 ???????12 days ago ????????58.3MBregistry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64 ?????????????????????3.2.24 ?????????????3cab8e1b9802 ???????3 weeks ago ????????220MBregistry.cn-hangzhou.aliyuncs.com/google_containers/coredns ????????????????????????1.2.2 ??????????????367cdc8433a4 ???????7 weeks ago ????????39.2MBregistry.cn-hangzhou.aliyuncs.com/google_containers/pause ??????????????????????????3.1 ????????????????da86e6ba6ca1 ???????10 months ago ??????742kB重新TAG[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.2 k8s.gcr.io/coredns:1.2.2[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.2.24 k8s.gcr.io/etcd:3.2.24[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.12.3 k8s.gcr.io/kube-scheduler:v1.12.3[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.12.3 k8s.gcr.io/kube-controller-manager:v1.12.3[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.12.3 k8s.gcr.io/kube-apiserver:v1.12.3[root@k8s-m ~]# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.12.3 k8s.gcr.io/kube-proxy:v1.12.3
2 自动方案
所有节点
mkdir -p /data/operations/script/
以上镜像操作部分可以批量执行的shell脚本(需要公网IP)
echo ‘#!/bin/bashsystemctl enable dockersystemctl start dockerecho ‘{"registry-mirrors": ["https://registry.docker-cn.com"],"graph": "/data/docker"}‘ > /etc/docker/daemon.jsondocker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.12.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.12.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.12.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.12.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.2.24docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.2docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.4docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.2 k8s.gcr.io/coredns:1.2.2docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.3 k8s.gcr.io/coredns:1.2.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.4 k8s.gcr.io/coredns:1.2.4docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.2.24 k8s.gcr.io/etcd:3.2.24docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.12.3 k8s.gcr.io/kube-scheduler:v1.12.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.12.3 k8s.gcr.io/kube-controller-manager:v1.12.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.12.3 k8s.gcr.io/kube-apiserver:v1.12.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.12.3 k8s.gcr.io/kube-proxy:v1.12.3‘ > /data/operations/script/images.shchmod +x /data/operations/script/images.shsh /data/operations/script/images.shkubeadm init --kubernetes-version=1.12.3 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.0.0.170 ?mkdir -p $HOME/.kube ?sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config ?sudo chown $(id -u):$(id -g) $HOME/.kube/configkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubeadm join 172.16.0.51:6443 --token j0u8rp.wknfkxa8ynw89lq8 --discovery-token-ca-cert-hash sha256:e946decc81a2dc06268425e5312a2c9eced90c79683e5e5e05b93b5cf43df054
这里生成的初始token可能无法使用,如果无法使用执行以下命令新生成一个
kubeadm token create --print-join-command
二、所有节点通用操作
[root@k8s-m ~]# echo ‘[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg‘>/etc/yum.repos.d/kubernetes.repo[root@k8s-m ~]# yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes已安装: ?kubeadm.x86_64 0:1.12.1-0 ?????????????????kubectl.x86_64 0:1.12.1-0 ?????????????????kubelet.x86_64 0:1.12.1-0作为依赖被安装: ?cri-tools.x86_64 0:1.12.0-0 ?????????????kubernetes-cni.x86_64 0:0.6.0-0 ?????????????socat.x86_64 0:1.7.3.2-2.el7[root@k8s-m ~]# systemctl enable kubelet && systemctl start kubeletCreated symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /etc/systemd/system/kubelet.service.kubeadm join 10.0.0.170:6443 --token 6s89xu.1x06dy6c1vvyl22n --discovery-token-ca-cert-hash sha256:868b352cb5865ae4dc0c5a0394e94e92cfbb8ba3a8615590aab4292ce1cef17e
TIPS
如果缺少部分镜像请到阿里云的容器镜像服务中搜索,下载后重新TAG
Centos7部署Kubernetes最新版1.12.3
原文地址:http://blog.51cto.com/forangela/2326025