kubeadm 安装k8s 1.15版

环境要求:

由于二进制安装的k8s:  步骤繁琐,于是就有大佬用ansibe和saltstack来简化二进制安装流程
ansible  一键自动化安装   https://github.com/easzlab/kubeasz
saltstack   一键自动化安装  https://github.com/unixhot/salt-k8s
kubeadm安装k8s:   需要google官方的docker镜像,需要解决网络问题
机器名ip地址cpu和内存要求
kubernetes-master10.0.0.112c4g(关闭swap)
kubernetes-node110.0.0.122c4g(关闭swap)
安装指定版本docker
#所有节点
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum list docker-ce --showduplicates

上传docker_rpm_18.09.tar.gz包
tar xf docker_rpm_18.09.tar.gz 
cd docker_rpm_18.09/
yum localinstall *.rpm -y 
systemctl start docker  && systemctl  enable docker
docker version 
安装kubeadm
#所有节点
cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes baseurl=https://mirror.tuna.tsinghua.edu.cn/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 repo_gpgcheck=0 EOF tar xf kubeadm_rpm_1.15.5.tar.gz cd kubeadm_rpm_1.15.5/ yum localinstall *.rpm -y systemctl enable kubelet && systemctl start kubelet kubeadm version

使用kubeadm初始化k8s集群
#所有节点
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl  --system
#关闭swap
swapoff -a
vim /etc/fstab
注释掉swap一行

#控制节点上运行,注意最后的输出
wget http://192.168.18.251/file/docker_k8s_adm1.15.tar.gz
docker load -i docker_k8s_adm1.15.tar.gz 
kubeadm init --kubernetes-version=v1.15.5 --image-repository registry.aliyuncs.com/google_containers  --pod-network-cidr=10.244.0.0/16 --service-cidr=10.254.0.0/16

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
给k8s集群加入node节点:
#node节点上执行前面控制节点提示的加入命令
kubeadm join 10.0.0.11:6443 --token w3vgyr.xdwk6apd7nu5jkax     --discovery-token-ca-cert-hash sha256:db964d63f7ee785a0881e0a79cd9b5b523449982a19f058edbfe8c2c72c5b912
给k8s集群配置网络插件
#控制节点:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#修改网段范围为
kubectl create -f kube-flannel.yml
kubectl get all -n kube-system
kubectl get nodes
kubectl自动补全
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc