iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0

今天將會使用Bare Metal(裸機)進行Kubernetes(以下簡稱k8s)的部署。本次鐵人賽使用k8s 1.18版本,ubuntu 20.04版本。
由於free5gmano的資源使用量較大,因此建議RAM最好是大於4GiB,我用4GiB的電腦會跑不動,後來改用8Gib的才跑得動。

第一步,下載k8s相關元件。

sudo apt-get update 
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list 
deb https://apt.kubernetes.io/ kubernetes-xenial main 
EOF
apt-get update
apt list -a kubeadm 

可以使用apt list查詢kubeadm的版本,本次使用kubeadm=1.18.0-00,kubectl版本不可高於kubeadm。

install kubelet及kubeadm和kubectl

apt-get install -y kubelet=1.18.0-00 kubeadm=1.18.0-00 kubectl=1.18.0-00

第二步,設定Docker的daemon文件

cat > /etc/docker/daemon.json <<EOF 
{ 
"exec-opts": ["native.cgroupdriver=systemd"], 
# docker默認cgroupfs,k8s自帶推薦的systemd,不更改會導致出現兩個cgroup管理器可能發生資源控制危機
"log-driver": "json-file", #將docker輸出日誌驅動設為json-file
"storage-driver": "overlay2"
}
EOF
mkdir -p /etc/systemd/system/docker.service.d 
systemctl daemon-reload 
systemctl restart docker

第三步,開始部署叢集

swapoff -a  #關閉linux swap
kubeadm init  --pod-network-cidr=10.244.0.0/16 #這邊可以決定k8s的pod的IP分佈
mkdir -p $HOME/.kube 
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 
chown $(id -u):$(id -g) $HOME/.kube/config

使用Flannel CNI

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

解除主節點預設的污點:

kubectl taint nodes <your node name> node-role.kubernetes.io/master=true:NoSchedule-

node的名稱可以透過下面程式找到:

kubectl get node

這裡已將k8s的需求解決,下一步就要開始進入free5GC相關元件部署了。


上一篇
22-安裝Docker
下一篇
24-free5GC事先準備
系列文
5哥窟-5G與肝臟買賣30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言