K8s最基本的硬件要求
Cpu:雙核
Mem:2G
3臺dockerhost 時間同步
Kubeadm工具自動部署k8s集羣
3臺docker 禁用swap
Swapoff -a (臨時)
Vim /etc/fstab (永久)
Free -h (查看)
三臺dockerhost添加域名解析
vim /etc/hosts
192.168.2.10 docker01-k8s
192.168.2.20 docker02-k8s
192.168.2.30 docker03-k8s
在第一臺上創建免密登錄:
~]# ssh-keygen -t rsa
將密鑰複製到其他兩臺上面
~]# ssh-copy-id docker02-k8s
~]# ssh-copy-id docker03-k8s
手寫配置文件iptabs橋接功能(複製到其他兩臺)
vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
將這個配置文件複製到其他兩臺docker
添加路由轉發(三臺都需要)
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p
將手寫的配置文件生效(三臺都需要)
sysctl -p /etc/sysctl.d/k8s.conf
modprobe br_netfilter
編寫文件
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
Yum repolist(三臺都需要下載)
Yum Makecache fast (三臺緩存)
下載K8s所需組件
yum -y install kubeadm-1.15.0-0 kubelet-1.15.0-0 kubectl-1.15.0-0 (第一臺)
yum -y install kubeadm-1.15.0-0 kubelet-1.15.0-0 (第二臺和第三臺)
加入開機自啓(三臺都需要)
systemctl enable kubelet.service
將基礎鏡像裏面的鏡像全部上傳(在第一臺)
https://pan.baidu.com/s/1EWgJIEet1oZPlyVvpdk5ug 基礎鏡像
提取碼:ujme
mkdir images
cd images/
將鏡像全部導入docker
初始化k8s:(如果初始化失敗使用Kubeadm reset)
kubeadm init --kubernetes-version=v1.15.0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
複製這三條命令
查看節點信息:
kubectl get node
創建跨主機網絡
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
再次查看節點:(已經準備好了)
kubectl get node
在第二,三臺上上傳文件
讓二三臺上加入集羣:
查看節點:
設置tap鍵
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc