系统:centos7
1.节点划分
master 192.168.30.147
node1 192.168.30.148
node2 192.168.30.149
#!/bin/bash
export docker_version=17.03.2
yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache all
version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}')
yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version}
2.关闭防火墙,selinux
1.添加yum源
2.安装程序
master/node
现在安装都是最新版,如果先要1.11.0版本可以指定安装
yum install kubeadm-1.11.0* kubelet-1.11.0* kubectl-1.11.0* docker-ce
(当拉取镜像失败可以添加这个)启动docker前docker的service文件里加
Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
Environment="NO_PROXY=127.0.0.0/8,172.25.0.0/16"
(master节点)
#!/bin/bash
images=(kube-proxy-amd64:v1.11.0 kube-scheduler-amd64:v1.11.0 kube-controller-manager-amd64:v1.11.0 kube-apiserver-amd64:v1.11.0
etcd-amd64:3.2.18 coredns:1.1.3 pause-amd64:3.1 kubernetes-dashboard-amd64:v1.8.3 k8s-dns-sidecar-amd64:1.14.9 k8s-dns-kube-dns-amd64:1.14.9
k8s-dns-dnsmasq-nanny-amd64:1.14.9 )
for imageName in ${images[@]} ; do
docker pull keveon/$imageName
docker tag keveon/$imageName k8s.gcr.io/$imageName
docker rmi keveon/$imageName
done
docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1
(脚本是提前下载镜像,方便kubeadm使用)
3.在主节点执行
kubeadm init --kubernetes-version=v1.11.0 --pod-network-cidr=10.244.0.0/16
根据执行的结果修改需要的环境
输出完成后执行
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
4.执行完后执行结尾的输出(这个很重要,不要忘记,以后添加节点使用的)
(node节点下载镜像)
#!/bin/bash
images=(kube-proxy-amd64:v1.11.0 pause-amd64:3.1 coredns:1.1.3 k8s-dns-sidecar-amd64:1.14.9 k8s-dns-kube-dns-amd64:1.14.9 k8s-dns-dnsmasq-nanny-amd64:1.14.9)
for imageName in ${images[@]} ; do
docker pull keveon/$imageName
docker tag keveon/$imageName k8s.gcr.io/$imageName
docker rmi keveon/$imageName
done
docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1
(这个可以不在master执行,只在node节点执行)
kubeadm join 192.168.30.147:6443 --token uu5nti.186x13xcbuh9t5rs --discovery-token-ca-cert-hash sha256:02b481279bd6a451f8e3f682b985639025e4e9a09948f9f4f6004f5efdea4b74
5.安装网络
(master执行)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
若集群状态没有变过来,重启服务器