部署K8s集羣的準備工作

K8s最基本的硬件要求

Cpu:雙核
Mem:2G
3臺dockerhost 時間同步

Kubeadm工具自動部署k8s集羣

3臺docker 禁用swap
Swapoff -a (臨時)
Vim /etc/fstab (永久)
部署K8s集羣的準備工作
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/
部署K8s集羣的準備工作

將鏡像全部導入docker

部署K8s集羣的準備工作
部署K8s集羣的準備工作

初始化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
部署K8s集羣的準備工作

複製這三條命令

部署K8s集羣的準備工作

查看節點信息:

kubectl get node
部署K8s集羣的準備工作

創建跨主機網絡

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
部署K8s集羣的準備工作

再次查看節點:(已經準備好了)

kubectl get node
部署K8s集羣的準備工作

在第二,三臺上上傳文件

https://pan.baidu.com/s/1qqVnURCAomKab11rTC976g 文件
提取碼:c5bk
部署K8s集羣的準備工作

讓二三臺上加入集羣:

部署K8s集羣的準備工作
部署K8s集羣的準備工作
部署K8s集羣的準備工作

查看節點:

部署K8s集羣的準備工作

設置tap鍵

部署K8s集羣的準備工作
部署K8s集羣的準備工作
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
部署K8s集羣的準備工作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章