1.?安裝環(huán)境依賴
yum install -y socat conntrack ebtables ipset
2.?下載KubeKey工具,下載好后就會(huì)出現(xiàn) kk?這個(gè)可執(zhí)行文件
# 確保您從正確的區(qū)域下載 KubeKey,即在國(guó)內(nèi)下載速度更快
export KKZONE=cn
# 下載kubekey
curl -sfL https://get-kk.kubesphere.io | sh -
3. 使用KubeKey生成一個(gè)k8s集群?jiǎn)?dòng)模板k8s.yaml,編輯好賬號(hào)密碼后保存
./kk create config --with-kubernetes v1.24.3 -f k8s.init.yaml
模板如下:
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
name: sample
spec:
hosts:
- {name: master, address: 10.0.0.65, internalAddress: 10.0.0.65, user: root, password: "root"}
- {name: node1, address: 10.0.0.66, internalAddress: 10.0.0.66, user: root, password: "root"}
- {name: node2, address: 10.0.0.133, internalAddress: 10.0.0.133, user: root, password: "root"}
roleGroups:
etcd:
- master
control-plane:
- master
worker:
- master
- node1
- node2
controlPlaneEndpoint:
## Internal loadbalancer for apiservers
# internalLoadbalancer: haproxy
domain: lb.kubesphere.local
address: ""
port: 6443
kubernetes:
version: v1.24.3
clusterName: cluster.local
autoRenewCerts: true
containerManager: containerd
etcd:
type: kubekey
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
multusCNI:
enabled: false
registry:
privateRegistry: ""
namespaceOverride: ""
registryMirrors: []
insecureRegistries: []
addons: []
?需要調(diào)整地方:
4.? 執(zhí)行剛才的文件
./kk create cluster -f k8s.init.yaml
此時(shí)界面會(huì)安裝下載各種組件并安裝,大概等待5-10分鐘即可完成安裝
6. 安裝完成后驗(yàn)證
# 查看所有pod
kubectl get pods -A
? ? ?
7.kubectl?其他 操作
#查看所有pod,服務(wù)
kubectl get pods,svc -A
#獲取所有的pod
kubectl get pods --all-namespaces -o wide
#使用yaml文件創(chuàng)建pod
kubectl create -f YAML_FILE.yaml
#使用yaml文件刪除pod
kubectl delete -f YAML_FILE.yaml
#顯示指定命名空間的pod的日志
kubectl logs POD_NAME -n kube-system
#獲取集群狀態(tài)
kubectl get cs
#獲取指定命名空間的服務(wù)
kubectl get svc -n kube-system
#獲取集群信息
kubectl cluster-info
#獲取集群節(jié)點(diǎn)信息
kubectl get nodes
#獲取全部節(jié)點(diǎn)
kubectl get nodes
#刪除節(jié)點(diǎn)
kubectl delete node 192.168.2.152
#刪除節(jié)點(diǎn)中的node
#1: 在master節(jié)點(diǎn)上執(zhí)行
kubectl drain NODE_NAME --delete-local-data --force --ignore-daemonsets
kubectl delete node node2
#2: 在node節(jié)點(diǎn)上執(zhí)行
kubeadm reset
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/
8. kubectl日志
# 獲取pod名稱或與pod相關(guān)的標(biāo)簽
kubectl get pods --show-labels
# 查看pod日志
kubectl logs <podName>
# 查看上一個(gè)pod的日志 崩潰的pod
kubectl logs --previous <podName>
# 如果一個(gè) Pod 有多個(gè)副本,并且具有關(guān)聯(lián)的標(biāo)簽(例如 app=my-app),您可以使用它來(lái)查看來(lái)自具有該標(biāo)簽的所有 Pod 的日志
kubectl logs -l app=my-app
# 查看pod 最后100行日志
kubectl logs --tail=100 <podName>
# 查看pod 最后一個(gè)小時(shí)的日志
kubectl logs --since=1h <podName>
# 查看最后15分鐘的日志
kubectl logs --since=15m <podName>
# 實(shí)時(shí)輸出日志
kubectl logs -f <podName>
# 實(shí)時(shí)輸出最后100行日志
kubectl logs --tail=100 -f <podName>
安裝kubeSphere
1. (可選) 如果需要安裝kubeSphere界面,則可以執(zhí)行
./kk create cluster --with-kubesphere v3.3.1 --container-manager containerd
大概10-15分鐘后安裝完后,顯示這個(gè)?
上面的http://10.0.0.6:30880 這個(gè)內(nèi)網(wǎng)地址,要換成你主機(jī)的公網(wǎng)地址,并且在安全組放行 30880 這個(gè)端口,再訪問(wèn) http://公網(wǎng)ip:30880? 就可以了。
界面長(zhǎng)這樣
2. 如果要添加節(jié)點(diǎn)
則先在新節(jié)點(diǎn)安裝好環(huán)境依賴
yum install -y socat conntrack ebtables ipset
然后再回到主節(jié)點(diǎn),修改第3步的 k8s.init.yml 文件,增加node節(jié)點(diǎn),再執(zhí)行
./kk add nodes -f k8s.init.yaml
額外:
如果是采用是docker做容器的話,若拉取鏡像失敗,可以改一下對(duì)應(yīng)節(jié)點(diǎn)上的鏡像改為國(guó)內(nèi)源
方法:
1. 編輯或新建配置文件 /etc/docker/daemon.json文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-485689.html
{
? ? "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
? ? "live-restore": true
}
2. 重新啟動(dòng)docker服務(wù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-485689.html
systemctl restart docker
到了這里,關(guān)于快速搭建k8s集群,使用kubekey搭建簡(jiǎn)單搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!