iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
0
DevOps

30天完成本地部署 kubernetes系列 第 10

部署 Kubernetes 群集(1):部署 master 節點及 networking model

  • 分享至 

  • xImage
  •  

在準備好 Storage 群集後,接下來開始部署 Kubernetes。

將部署於在 Day4 時準備的虛擬機器:

  1. master1
  2. worker1
  3. worker2

使用 Ubuntu 18.04 / Kubernetes 1.15.0 進行部署。

master1 節點部署步驟

  1. 安裝 kubeadm、kubelet、kubectl。
KUBERNETES_VERSION='=1.15.0-00'

ssh master1 "
    sudo apt update -y;
    sudo apt install -y apt-transport-https curl gpg;
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - ;
    echo 'deb https://apt.kubernetes.io/ kubernetes-xenial main' | sudo tee /etc/apt/sources.list.d/kubernetes.list ;
    sudo apt update -y ;
    sudo apt install -y kubelet${KUBERNETES_VERSION} kubeadm${KUBERNETES_VERSION} kubectl${KUBERNETES_VERSION} ;
    sudo apt-mark hold kubelet kubeadm kubectl ;
    "
  1. 必須將 swap 關閉,才能執行 kubelet。
ssh master1 "
    sudo swapoff -a ;
    sudo sed -i -e 's/^\\([^#].*swap.*\\)$/#\\1/g' /etc/fstab ;
    "
  1. 使用 kubeadm init 部署 master 節點;因為測試群集使用的是 VirtualBox VM,因此指定 API server 撲定於 VirtualBox 的 dhcp 所分配的 IP 10.13.13.101。
NETWORK=10.244.0.0/16
MASTERIP=10.13.13.101

ssh master1 "sudo kubeadm init --pod-network-cidr ${NETWORK} --apiserver-advertise-address ${MASTERIP}" 2>&1 > init

保留執行結果至 init

  1. 讓 master1 的預設帳號可操作 kubernetes 群集
ssh master1 "
        mkdir -p \${HOME}/.kube ;
        sudo cp -f /etc/kubernetes/admin.conf \${HOME}/.kube/config ;
        sudo chown \$(id -u):\$(id -g) \${HOME}/.kube/config ;
        "
  1. 選擇 Canel 作為 Kubernetes networking model
ssh master1 "kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/canal.yaml"

完成部署 master 節點及 Kubernetes networking model。

參考

  1. https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
  2. https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/
  3. https://kubernetes.io/docs/concepts/cluster-administration/networking/#the-kubernetes-network-model
  4. https://docs.projectcalico.org/v3.8/getting-started/kubernetes/installation/flannel

上一篇
使用 Ceph 實現高可用的持久化儲存(4):完成 Ceph/CephFS 部署
下一篇
部署 Kubernetes 群集(2):部署 worker 節點
系列文
30天完成本地部署 kubernetes30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言