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 sa.key sa.pub front-proxy-ca.crt front-proxy-ca.key myuser@192.168.1.113:~/pki/
cd etcd
sudo scp ca.crt ca.key myuser@192.168.1.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,修改所有者,照做就是

如果token過期,可以在主節點執行 kubeadm token create 以生成新的token,有效期兩小時

 

安裝桌面客戶端

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

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

 

 

 

安裝監控系統前需要將主節點設置污點容忍(taint),master節點默認是有設置污點的,不能將pod分配到污點節點,只有設置了污點容忍監控系統的pod才能安裝到主節點,當然,有worker夠的話也不用

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

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

 

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM