k8s學習筆記之安裝

一,準備工做

1,master節點硬件要求:
cpu:至少2核
內存:至少2G
2,禁用全部節點swap:
swapoff -a
註釋/etc/fstab文件中swap一行
3,禁用全部節點selinux:
setenforce 0
修改/etc/selinux/config
4,禁用全部節點防火牆:
sytemctl stop firewalld
systemctl disable firewalld
5,修改節點主機名:
hostname xxx
hostnamectl set-hostname xxx
6,全部節點將ipv4橋接流量傳遞到iptables鏈:
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl –system
7,全部節點開啓ip轉發:
echo 「net.ipv4.ip_forward = 1」>>/etc/sysctl.confnode

二,開始安裝

1,全部節點添加k8s源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[k8s]
name=k8s
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
EOFlinux

2,全部節點安裝docker
yum install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.9-3.el7.x86_64.rpm https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.9-3.el7.x86_64.rpm -y --nobestgit

全部節點都須要修改docker源:

默認爲 /etc/docker/daemon.json,非默認路徑須要修改 dockerd 的 –config-file,在該文件中加入以下內容: 

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
}github

速度仍是很慢,以下方法:
http://f1361db2.m.daocloud.io
或者
"registry-mirrors":["https://f3lu6ju1.mirror.aliyuncs.com"]web

3,全部節點安裝k8s
yum install kubeadm kubectl kubelet -ydocker

4,全部節點啓用docker
systemctl enable docker
systemctl start docker
5,全部節點啓用kubelet
systemctl enable kubelet
6,初始化master節點
kubeadm init \
--apiserver-advertise-address=192.168.122.100 \
--image-repository=registry.aliyun.com/google_containers \
--kubernetes-version=v1.18.0 \
--service-cidr=10.1.1.0/16 \
--pod-network-cidr=10.0.0.0/16
7,根據初始化完成後的提示在主節點執行
k8s學習筆記之安裝json

在其他各節點執行
k8s學習筆記之安裝centos

8,在主節點執行docker images,結果以下

k8s學習筆記之安裝
在其他節點執行,結果以下
k8s學習筆記之安裝
9,在主節點執行kubectl get nodes,結果以下
k8s學習筆記之安裝
10,在主節點安裝網絡組件,flannel(或者calico,或者其它)
安裝前,查看,執行kubectl get pods -n kube-system,結果以下:
k8s學習筆記之安裝
執行安裝:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.ymlapi

安裝後,查看,執行kubectl get pods -n kube-system
若是出現
k8s學習筆記之安裝
須要等待拉取鏡像若是一分鐘左右status沒有變爲Running,或者出現以下所示:網絡

則是鏡像源速度太慢所致
此時,修改kube-flannel.yml文件中的源便可解決
sed -i 's#quay.io/coreos#jmgao1983#g' kube-flannel.yml
kubectl apply -f kube-flannel.yml
再次執行 kubectl get pods -n kube-system
k8s學習筆記之安裝
有一個flannel鏡像拉取失敗,可是不影響使用,應該是有一個ok就能夠了(這個後面發現是有問題的,對應節點狀態是notready)

執行 kubectl get node
k8s學習筆記之安裝
若是某個節點的status一直爲Notready,
那麼,在該節點以下操做
mkdir -p /etc/cni/net.d/
scp root@192.168.122.100/etc/cni/net.d/10-flannel.conflist /etc/cni/net.d/
其中,192.168.122.100爲任意一個狀態正常的節點ip

k8s學習筆記之安裝
這樣的結果,纔是正常狀態
配置好後重啓kubelet,docker,而後等待5分鐘全部就能夠拉取完全部鏡像
k8s學習筆記之安裝
狀態終於變爲Ready
後續加入兩個從節點
k8s學習筆記之安裝
注意:從節點加入後,須要在該節點重啓kubelet,docker,而且等待該節點拉取鏡像,運行容器
k8s學習筆記之安裝
k8s學習筆記之安裝
k8s學習筆記之安裝
11,安裝dashboard(web管理面板)
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml
kubectl apply -f recommended.yaml
k8s學習筆記之安裝
獲取web管理面板所在節點
k8s學習筆記之安裝
能夠看見,web管理面板在節點node2,端口爲30000
訪問https://192.168.122.102:30000
k8s學習筆記之安裝
獲取token,而後使用token登陸
kubectl -n kube-system describe $(kubectl -n kube-system get secret -o name | grep namespace) | grep token
k8s學習筆記之安裝

相關文章
相關標籤/搜索