iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
1
自我挑戰組

我們 der 暑假學習紀錄 :D系列 第 5

DAY5 kubernetes安裝及單機連線

  • 分享至 

  • xImage
  •  

暑假期間,剛好以機會接觸到 kubernetes 這套用於自動部署、擴充和管理容器化(containerized)應用程式的開源系統,也簡稱為 K8S ,更多的介紹歡迎參閱 kubernetes 官方網站,這裡我們介紹一下關於如何架設一個 kubernetes 的環境。因為目前只有一台虛擬機,所以先做單機連線,以後有機會再來做做看多機互聯。

安裝 kubernetes

安裝軟件包以允許通過 HTTPS 使用 repository

apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common

新增 Docker 的官方 GPG 密鑰

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

新增 docker apt repository

add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

安裝docker ce。

apt-get update && apt-get install docker-ce=18.06.0~ce~3-0~ubuntu

Setup daemon

先使用 vim 編譯器

vim /etc/docker/daemon.json

打開檔案後,再複製下方程式碼貼上修改,儲存後離開 vim

{
 "exec-opts": ["native.cgroupdriver=systemd"],
 "log-driver": "json-file",
 "log-opts": {
  	"max-size": "100m"
  },
"storage-driver": "overlay2"
}
mkdir -p /etc/systemd/system/docker.service.d

重啟 docker

systemctl daemon-reload
systemctl restart docker

接下來,安裝 kubeadm, kubeadm, kubectl 等 K8S 相關套件

apt-get update && apt-get install -y apt-transport-https curl
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-get install -y kubelet=1.15.6-00 kubeadm=1.15.6-00 kubectl=1.15.6-00
apt-mark hold kubelet kubeadm kubectl

記得關閉 swap

swapoff -a

編輯 DNS
請將裡面數字改為 8.8.8.8

vim /etc/resolv.conf

*設定 kubectl *
kubeadm init 需要一些時間喔

kubeadm init --pod-network-cidr=10.244.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

建立 flannel CNI(需要對照版本)

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

最後再汙染節點就可以()一般 master node 是不會作為 work node 使用的,所以需要多這一個步驟

kubectl taint nodes --all node-role.kubernetes.io/master-

上一篇
DAY4 root 介紹和 vim編譯器使用
下一篇
DAY6 建立pod
系列文
我們 der 暑假學習紀錄 :D30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言