安裝K8S集群
1 設置腳本,鏡像源替換為阿里云鏡像
1.1 增加鏡像替換腳本
注意:請在master機器上執(zhí)行
$ touch images.sh
$ chmod +x images.sh
添加腳本內容:
#!/bin/bash
set -x
if [ $# -ne 1 ];then
echo "The format is: ./`basename $0` kubernetes-version"
exit 1
fi
version=$1
images=`kubeadm config images list --kubernetes-version=${version} | awk -F '/' '{print $2}'`
for imageName in ${images[@]}; do
#containerd方式
ctr i pull registry.aliyuncs.com/google_containers/$imageName
ctr i tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
ctr i rm registry.aliyuncs.com/google_containers/$imageName
done
#替換dns鏡像 注意版本需要調整
ctr i pull registry.aliyuncs.com/google_containers/coredns:v1.8.6
ctr i tag registry.aliyuncs.com/google_containers/coredns:v1.8.6 k8s.gcr.io/coredns/coredns:v1.8.6
ctr i rm registry.aliyuncs.com/google_containers/coredns:v1.8.6
1.2 查看k8s版本
$ kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.24.1
k8s.gcr.io/kube-controller-manager:v1.24.1
k8s.gcr.io/kube-scheduler:v1.24.1
k8s.gcr.io/kube-proxy:v1.24.1
k8s.gcr.io/pause:3.7
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/coredns/coredns:v1.8.6
1.3 執(zhí)行腳本
$ ./images.sh v1.24.1
2 安裝集群
2.1 初始化master節(jié)點
在master機器上執(zhí)行如下命令:
$ sysctl -w net.ipv4.ip_forward=1 #這里需要設置一下ipv4轉發(fā),不然下面要報錯
$ kubeadm init \
--node-name=k8smaster \
--apiserver-advertise-address=192.168.56.3 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.24.1 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 --v=5
說明:
–apiserver-advertise-address= 你master節(jié)點的ip
看到如下內容,說明master節(jié)點初始化成功
圖片中最后一行記得要保存起來,worker節(jié)點加入到集群時使用
kubeadm join 192.168.56.3:6443 --token 9r4e42.gcgfs65bdzkaibkf \
--discovery-token-ca-cert-hash sha256:d4115d0cbe6a63b9a8464b338d5dde6e26231bb3835195749802218f885a4882
2.2 node worker節(jié)點加入到集群
分別在兩臺worker節(jié)點上執(zhí)行如下指令:
$ sysctl -w net.ipv4.ip_forward=1 #這里需要設置一下ipv4轉發(fā),不然下面要報錯
kubeadm join 192.168.56.3:6443 --token 9r4e42.gcgfs65bdzkaibkf \
--discovery-token-ca-cert-hash sha256:d4115d0cbe6a63b9a8464b338d5dde6e26231bb3835195749802218f885a4882
2.3 查看node信息
$ kubectl get nodes -A
The connection to the server localhost:8080 was refused - did you specify the right host or port?
fix 上面的錯誤信息
$ echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
$ source /etc/profile
$ kubectl get nodes -A
NAME STATUS ROLES AGE VERSION
k8smaster NotReady control-plane 5m2s v1.24.0
k8snode1 NotReady <none> 104s v1.24.0
k8snode2 NotReady <none> 88s v1.24.0
2.4 驗證pod信息
$ watch kubectl get pods -A -o wide
kubectl get pods -A -o wide 2022-06-04 15:25:58
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-74586cf9b6-qcgwn 0/1 Pending 0 5m49s
kube-system coredns-74586cf9b6-zf7qv 0/1 Pending 0 5m49s
kube-system etcd-k8smaster 1/1 Running 0 6m4s
kube-system kube-apiserver-k8smaster 1/1 Running 0 6m3s
kube-system kube-controller-manager-k8smaster 1/1 Running 0 6m3s
kube-system kube-proxy-48hq2 1/1 Running 0 2m33s
kube-system kube-proxy-fnz8w 1/1 Running 0 2m49s
kube-system kube-proxy-znsrg 1/1 Running 0 5m50s
kube-system kube-scheduler-k8smaster 1/1 Running 0 6m3s
注意: 發(fā)現(xiàn)coredns狀態(tài)是pending狀態(tài),因為我們的k8s組件還沒安裝網(wǎng)絡組件, 接下來我們安裝網(wǎng)絡組件
3 安裝k8s網(wǎng)絡組件
這里我選擇的是cilium網(wǎng)絡組件
3.1 安裝cilium網(wǎng)絡組件
https://docs.cilium.io/en/v1.11/gettingstarted/k8s-install-helm/
采用helm方式安裝(說明:helm在我們裝機腳本中已安裝過了)
$ helm repo add cilium https://helm.cilium.io/
"cilium" has been added to your repositories
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "cilium" chart repository
Update Complete. ?Happy Helming!?
helm install cilium cilium/cilium --version 1.11.5 \
--namespace kube-system
觀察所有pod都變成running, 說明安裝成功
$ watch kubectl get pods -A -o wide
下篇
接下來我們進入下篇:
本地k8s集群搭建保姆級教程(4)-安裝k8s集群Dashboard
上篇
本地k8s集群搭建保姆級教程(2)-裝機Alpine
結尾
此教程結束了,謝謝閱讀!文章來源:http://www.zghlxwxcb.cn/news/detail-607060.html
歡迎關注我的微信公眾號,不定期更新,謝謝文章來源地址http://www.zghlxwxcb.cn/news/detail-607060.html
到了這里,關于本地k8s集群搭建保姆級教程(3)-安裝k8s集群的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!