适合初次安装
yum install kubeadm-1.15.0 kubectl-1.15.0 kubelet-1.15.0 # 安装组件
# 拉取国内镜像
MY_REGISTRY=suveng
echo '============docker pull=========='
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-apiserver:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-scheduler:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-controller-manager:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-proxy:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-etcd:3.3.10
docker pull ${MY_REGISTRY}/k8s.gcr.io-pause:3.1
docker pull ${MY_REGISTRY}/k8s.gcr.io-coredns:1.3.1
echo '============docker pull over=========='
echo '============docker tag=========='
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-apiserver:v1.15.0\
k8s.gcr.io/kube-apiserver:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-scheduler:v1.15.0\
k8s.gcr.io/kube-scheduler:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-controller-manager:v1.15.0\
k8s.gcr.io/kube-controller-manager:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-proxy:v1.15.0\
k8s.gcr.io/kube-proxy:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-etcd:3.3.10\
k8s.gcr.io/etcd:3.3.10
docker tag ${MY_REGISTRY}/k8s.gcr.io-pause:3.1\
k8s.gcr.io/pause:3.1
docker tag ${MY_REGISTRY}/k8s.gcr.io-coredns:1.3.1\
k8s.gcr.io/coredns:1.3.1
echo '============docker tag over=========='
# master节点初始化
kubeadm init --apiserver-advertise-address 192.168.9.208 --pod-network-cidr 10.11.0.0/16 --kubernetes-version 1.15.0
# 初始化完配置kubectl环境
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 保存打印出来的下面的提示,用于初始化worker节点, 复制自己的, 不是复制这篇文章的
kubeadm join 192.168.174.116:6443 --token px2mr2.wtyma8pyqs3uwk2j \
--discovery-token-ca-cert-hash sha256:a072f9257c89fcc8b7f3740eacc5efaf1c8fffd1071e4ba9428f18c24483ae21
# 配置网络,应用flannel网络
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 检测master节点
kubectl get node
# 查看kubelet的日志
journalctl -fu kubelet
#拉取镜像
MY_REGISTRY=suveng
echo '============docker pull=========='
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-apiserver:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-scheduler:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-controller-manager:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-kube-proxy:v1.15.0
docker pull ${MY_REGISTRY}/k8s.gcr.io-etcd:3.3.10
docker pull ${MY_REGISTRY}/k8s.gcr.io-pause:3.1
docker pull ${MY_REGISTRY}/k8s.gcr.io-coredns:1.3.1
echo '============docker pull over=========='
echo '============docker tag=========='
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-apiserver:v1.15.0\
k8s.gcr.io/kube-apiserver:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-scheduler:v1.15.0\
k8s.gcr.io/kube-scheduler:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-controller-manager:v1.15.0\
k8s.gcr.io/kube-controller-manager:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-kube-proxy:v1.15.0\
k8s.gcr.io/kube-proxy:v1.15.0
docker tag ${MY_REGISTRY}/k8s.gcr.io-etcd:3.3.10\
k8s.gcr.io/etcd:3.3.10
docker tag ${MY_REGISTRY}/k8s.gcr.io-pause:3.1\
k8s.gcr.io/pause:3.1
docker tag ${MY_REGISTRY}/k8s.gcr.io-coredns:1.3.1\
k8s.gcr.io/coredns:1.3.1
echo '============docker tag over=========='
# 加入master
# 这里使用master初始化完之后提示的命令
kubeadm join 192.168.174.116:6443 --token px2mr2.wtyma8pyqs3uwk2j \
--discovery-token-ca-cert-hash sha256:a072f9257c89fcc8b7f3740eacc5efaf1c8fffd1071e4ba9428f18c24483ae21
kubeadm reset --ignore-preflight-errors=Swap
rm -rf /var/lib/kubelet/
rm -rf /var/lib/cni/
rm -rf /var/lib/etcd/
rm -rf /etc/kubernetes/
rm -rf /root/.kube/config