kubeadm安裝k8s集羣

安裝kubeadm kubectl kubelet

對於Ubuntu/debian系統,添加阿里雲k8s倉庫key,非root用戶需要加sudo

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 

 

然後在/etc/apt/source.list末尾加一行

deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

然後更新apt列表,安裝kubeadm和kubectl

apt-get update
apt-get install -y kubelet kubeadm kubectl

 

 

對於CentOS/RHEL/Fedora

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
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet

由於官網未開放同步方式, 可能會有索引gpg檢查失敗的情況, 這時請用 yum install -y --nogpgcheck kubelet kubeadm kubectl 安裝

 

初始化集羣

sudo  kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=cri --control-plane-endpoint "192.168.1.13:6443"  --kubernetes-version=1.18.3
image-repository是鏡像倉庫地址,默認是谷歌的,國內無法訪問,所以改爲阿里雲的
pod-network-cidr是pod的子網網段設置
control-plane-endpoint是控制層的入口,所以是填主節點的ip+指定一個端口,後續有其他機器加入集羣就是從這裏訪問的
kubernetes-version是k8s的版本,這個需要和上一步安裝的kubeadm版本一致, kubeadm version可以查看到版本號

然後等幾分鐘初始化完畢就會提示下一步操作。
拷貝admin.conf到.kube,重命名爲config
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

這裏還可以看到其他節點加入集羣的命令,即有kubeadm join那兩行,加入控制層(master或者叫controller)多了個--control-plane參數,加入工作節點(worker)則沒有。k8s的高可用集羣一般建議至少3個主節點(ps:我的機器少,只有一個主節點,一個worker節點)

安裝pod網絡

下載flannel.yml到所在目錄,安裝flannel

kubectl apply -f flannel.yml

 

加入其他節點

拷貝證書

先在要加入的節點的用戶目錄下新建~/pki/etcd目錄

mkdir -p ~/pki/etcd

 

然後在剛纔安裝k8s的主節點通過scp把證書都拷貝過去

cd /etc/kubernetes/pki
sudo scp ca.crt ca.key sa.key sa.pub front-proxy-ca.crt front-proxy-ca.key [email protected].113:~/pki/
cd etcd
sudo scp ca.crt ca.key [email protected].113:~/pki/etcd

再切回要加入的節點,執行本文一開始安裝kubeadm的步驟

然後把證書移動到/etc/kubernetes/pki下

sudo mv -f ~/pki/* /etc/kubernetes/pki/

最後加入集羣即可,這行命令可以在主節點的集羣初始化最後找到,每個集羣的都不一樣,需要自己去拷貝自己生成的那個

sudo kubeadm join 192.168.1.13:6443 --token fd1j75.qxrwb8h1dbogasb7 --discovery-token-ca-cert-hash sha256:4f2f2a8900ff54575406f443e49ec78d1658e437f3e1dd2785c6fbd05bcbf786 --control-plane

最後也會有提示讓把admin.conf拷貝到.kube,修改所有者,照做就是

 

最後安利一個很不錯的k8s集羣客戶端應用lens,點擊選擇對應版本下載,打開就可以用了。

打開,點擊+號,選擇自定義,然後把主節點的~/.kube/config文件內容拷貝這裏就能連接上了

 

 

 

安裝監控系統前需要將主節點去除污點(taint),master節點默認是有設置污點的,所以需要去除,這樣監控系統的pod才能安裝到主節點,當然,有worker夠的話也不用

以下命令就是去除主節點的污點。

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

 

安裝監控系統,集羣圖標,點擊右鍵設置。拉到最下邊的Features,Metrics,點擊安裝,集羣就會自動安裝普羅米修斯了

 

 

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