1:節(jié)點(diǎn)準(zhǔn)備
系統(tǒng):centos7.5以上,2核4G以上,30G硬盤(pán)以上
系統(tǒng)參數(shù)配置:
1)關(guān)閉swap,free -m; swapoff -a
2)關(guān)閉防火墻 systemctl stop firewalld;systemctl status firewalld
3)關(guān)閉selinux :vim /etc/selinux/config 修改disable
臨時(shí)關(guān)閉setenforce 0
查看selinxu狀態(tài):getenforce
4)在master主機(jī)中添加hosts;
vim /etc/hosts
xxxx => k8s-master
xxxx= > k8s-node1
5)將橋接的IPV4流量傳遞到iptables的鏈
docker和k8s都是基于iptabls進(jìn)行網(wǎng)絡(luò)通信的。不要隨便清除docker服務(wù)器中的iptables規(guī)則
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
systcl --system 生效
6)安裝ntp,同步時(shí)間
yum -y install ntp
ntpdate time.windows.com
kubeadm 是容器化組件部署,kubelet沒(méi)有被容器化,所有管理kubelet的時(shí)候,只能用systemctl來(lái)管理
二進(jìn)制是 守護(hù)進(jìn)程部署
2.安裝Docker/Kubeadm/kubelet/kubectl[所有節(jié)點(diǎn)]
2.1 安裝docker
yum -y install docker
systemctl enable docker
systemctl start docker
2.2 配置國(guó)內(nèi)鏡像加速站
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jwrmyfx1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.3 配置k8s國(guó)內(nèi)阿里云yum源
cat > /etc/yum.repos.d/k8s.repo << EOF
[kubernetes]
name=kubernetes
enabled=1
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF
2.4安裝
yum -y install kubeadm kukbectl kukbelet
直接安裝最新版本,當(dāng)然,可以指定版本
2.5 手動(dòng)啟動(dòng)kubulet
systemctl start kubelet
systemctl enable kubelet
3:安裝kubenets master節(jié)點(diǎn)
3.1 執(zhí)行kubeadm init命令
kubeadm init \
--apiserver-advertise-address=10.57.98.169 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.5 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ianore-preflight-errors=all
或者適應(yīng)命令引用,如果已經(jīng)編輯好 kubeadm.conf
Kubeadm init --config kubeadm.conf --ignore--preflight-errors=all
3.2 kubeadm init 工作流程:
1、安裝環(huán)境檢查,例如swapoff有沒(méi)有關(guān)、機(jī)器配置符合不符合, kubelet service服務(wù)是否開(kāi)機(jī)啟動(dòng)等等
2、下載鏡像kubeadm config images pull;會(huì)拉取鏡像,可以提前進(jìn)行此操作
3、生成證書(shū),保存路徑/etc/kubernetes/pki (k8s,etcd)
4. [kubeconfig]生成kubeconfig文件,
5、[kubelet-start]生成kubelet配置文件并啟動(dòng),"/var/lib/kubelet/config.yaml"
6、[control-plane]啟動(dòng)master節(jié)點(diǎn)組件;"kube-apiserver","kube-controller-manager","kube-scheduler"
7、將一些配置文件存儲(chǔ)到configmap中,用于其他節(jié)點(diǎn)初始拉取
8、[mark-control-plane]給master節(jié)點(diǎn)打污點(diǎn),不讓pod在上面運(yùn)行
9. [bootstrap-token]自動(dòng)為kubelet須發(fā)證書(shū)
20, [addons]安裝插件CoreDNS;kube-proxy
最后拷貝kubectl工具用的kubeconfig到默認(rèn)路徑下。
[root@k8s-master ~]# mkdir -p $HOME/.kube
[root@k8s-master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@k8s-master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
輸出其它節(jié)點(diǎn)加入master命令:
kubeadm join 10.57.98.169:6443 --token 60npxf.33hynnget6h5b8ej \
--discovery-token-ca-cert-hash sha256:69250e213fb500b7ee8a260c5571500c857df05b5a31bac59c6803e3586ee730
3.3 添加node節(jié)點(diǎn)
3.3.1 node節(jié)點(diǎn)加入命令
kubeadm join 10.57.98.169:6443 --token 60npxf.33hynnget6h5b8ej \
--discovery-token-ca-cert-hash sha256:69250e213fb500b7ee8a260c5571500c857df05b5a31bac59c6803e3586ee730
提示沒(méi)有查看 k8s-node節(jié)點(diǎn),但是不影響,
用kubectl get nodes 查看節(jié)點(diǎn)是否識(shí)別到
3.4 查看報(bào)錯(cuò)
--journalctl -u kubelet > error.txt
Apr 05 10:50:20 k8s-node kubelet[11985]: I0405 10:50:20.403382 11985 cni.go:240] "Unable to update cni config" err="no networks found in /etc/cni/net.d"
Apr 05 10:50:20 k8s-node kubelet[11985]: E0405 10:50:20.893490 11985 kubelet.go:2347] "Container runtime network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized"
4.部署容器網(wǎng)絡(luò) CNI
4.1 下載文件
wget https://docs.projectcalico.org/manifests/calico.yaml --no-check-certificate
4.2 編輯文件
修改配置文件里面的參數(shù)為
kubeadm init \
--apiserver-advertise-address=10.57.98.169 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.5 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ianore-preflight-errors=all
1:name: CALICO_IPV4POOL_CIDR
4.3 引用這個(gè)文件
kubectl apply -f calico.yaml
kubectl get pods -n kube-system
4.4 查看node節(jié)點(diǎn)的狀態(tài)
kubectl get pods -n kube-system
kubectl get node
5.測(cè)試kubernetes集群
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/127945.html
摘要:月日日,靈雀云企業(yè)定制培訓(xùn)在深圳招商銀行總部圓滿結(jié)束。靈雀云培訓(xùn)中強(qiáng)調(diào)理論實(shí)踐工具落地相結(jié)合。靈雀云是官方認(rèn)證培訓(xùn)合作伙伴服務(wù)提供商。不久之后,靈雀云還將推出微服務(wù)的培訓(xùn)課程。 showImg(https://segmentfault.com/img/bVblpFV?w=600&h=334); 12月13日-14日,靈雀云企業(yè)定制k8s培訓(xùn)在深圳招商銀行總部圓滿結(jié)束。 來(lái)自招行總部信息...
摘要:最近被業(yè)務(wù)折騰的死去活來(lái),實(shí)在沒(méi)時(shí)間發(fā)帖,花了好多個(gè)晚上才寫(xiě)好這篇帖子,后續(xù)會(huì)加油的利用技術(shù)棧打造個(gè)人私有云系列文章目錄利用技術(shù)棧打造個(gè)人私有云連載之初章利用技術(shù)棧打造個(gè)人私有云連載之集群搭建利用技術(shù)棧打造個(gè)人私有云連載之環(huán)境理解和練手利用 showImg(https://segmentfault.com/img/remote/1460000013077799); 最近被業(yè)務(wù)折騰的死...
摘要:最近被業(yè)務(wù)折騰的死去活來(lái),實(shí)在沒(méi)時(shí)間發(fā)帖,花了好多個(gè)晚上才寫(xiě)好這篇帖子,后續(xù)會(huì)加油的利用技術(shù)棧打造個(gè)人私有云系列文章目錄利用技術(shù)棧打造個(gè)人私有云連載之初章利用技術(shù)棧打造個(gè)人私有云連載之集群搭建利用技術(shù)棧打造個(gè)人私有云連載之環(huán)境理解和練手利用 showImg(https://segmentfault.com/img/remote/1460000013077799); 最近被業(yè)務(wù)折騰的死...
摘要:將用戶命令通過(guò)接口傳送給,從而進(jìn)行資源的增刪改等操作。要使用編寫(xiě)應(yīng)用程序,當(dāng)下大多語(yǔ)言都可以很方便地去實(shí)現(xiàn)請(qǐng)求來(lái)操作的接口從而控制和查詢資源,但本文主要是利用已有的客戶端來(lái)更加優(yōu)雅地實(shí)現(xiàn)的資源控制。 showImg(https://segmentfault.com/img/remote/1460000013517345); 【利用K8S技術(shù)棧打造個(gè)人私有云系列文章目錄】 利用K8S...
閱讀 484·2024-11-07 18:25
閱讀 130851·2024-02-01 10:43
閱讀 961·2024-01-31 14:58
閱讀 925·2024-01-31 14:54
閱讀 83048·2024-01-29 17:11
閱讀 3310·2024-01-25 14:55
閱讀 2086·2023-06-02 13:36
閱讀 3206·2023-05-23 10:26