如何用二進制包部署Kubernetes集群?針對這個問題,今天小編總結這篇有關Kubernetes集群部署的文章,希望幫助更多想解決這個問題的同學找到更加簡單易行的辦法。
創(chuàng)新互聯(lián)公司提供高防服務器租用、云服務器、香港服務器、成都棕樹機房等架構總規(guī)劃圖
環(huán)境準備
三臺主機,一臺作為master節(jié)點,二臺作為node節(jié)點。
其中master節(jié)點需要安裝以下組件
kube-apiserver、kube-controller-manager、kube-scheduler、etcd
node節(jié)點需要安裝以下組件
kubelet、kube-proxy、docker、flannel、etcd
組件介紹
Flanner:Flannel是針對Kubernetes設計的一個網(wǎng)絡規(guī)劃服務,簡單來說,它的功能是讓集群中的不同節(jié)點主機創(chuàng)建的Docker容器都具有全集群唯一的虛擬IP地址。但在默認的Docker配置中,每個Node的Docker服務會分別負責所在節(jié)點容器的IP分配。Node內(nèi)部得容器之間可以相互訪問,但是跨主機(Node)網(wǎng)絡相互間是不能通信。Flannel設計目的就是為集群中所有節(jié)點重新規(guī)劃IP地址的使用規(guī)則,從而使得不同節(jié)點上的容器能夠獲得"同屬一個內(nèi)網(wǎng)"且"不重復的"IP地址,并讓屬于不同節(jié)點上的容器能夠直接通過內(nèi)網(wǎng)IP通信。
部署流程
從官方網(wǎng)站上下載二進制包
部署etcd存儲
etcd存儲在master節(jié)點和node節(jié)點都需要部署,首先在master節(jié)點部署
編輯腳本下載官方cfssl包
vim cfssl.sh
curl -L https:#pkg.cfssl.org/ R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl
curl -L https:#pkg.cfssl.org/ R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson
curl -L https:#pkg.cfssl.org/ R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfochmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo
執(zhí)行腳本
bash cfssl.sh
此時cd /usr/local/bin/目錄生成三個文件
cfssl:是生成證書工具
cfssljson:通過傳入json文件生成證書
cfssl-certinfo:是查看證書信息
給這三個文件添加執(zhí)行權限
chmod 777 cfssl cfssl-certinfo cfssljson
定義ca證書,生成證書
構建好二個腳本,生成證書
第一個腳本 vim etcd-cert.sh
定義ca證書
證書簽名
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=www server-csr.json | cfssljson -bare server
上述命令生成所需證書
第二個腳本vim etcd.sh
腳本配置完成,重新加載,開啟etcd以及設置開機自啟動,關閉防火墻,增強性安全功能
systemctl daemon-reload
systemctl enable etcd
systemctl restart etcd
systemctl stop firewalld.service
setenforce 0
創(chuàng)建k8s目錄,將二個腳本移動至目錄下
mkdir k8s
cd k8s/
mkdir etcd-cert
mv etcd-cert.sh etcd-cert
解壓ETCD 二進制包
tar zxvf etcd-v3.3.10-linux-amd64.tar.gz
配置文件,命令文件,證書
mkdir /opt/etcd/{cfg,bin,ssl} -p
mv etcd-v3.3.10-linux-amd64/etcd etcd-v3.3.10-linux-amd64/etcdctl /opt/etcd/bin/
證書拷貝
cp etcd-cert/.pem /opt/etcd/ssl/
進入卡住狀態(tài)等待其他節(jié)點加入
bash etcd.sh etcd01 192.168.142.129 etcd02=https:/ /192.168.142.130:2380,etcd03=https:/ /192.168.149.131:2380
使用另外一個會話打開,會發(fā)現(xiàn)etcd進程已經(jīng)開啟
ps -ef | grep etcd
拷貝證書去其他節(jié)點
scp -r /opt/etcd/ root@192.168.142.130:/opt/
scp -r /opt/etcd/ root@192.168.142.131:/opt/
啟動腳本拷貝其他節(jié)點
scp /usr/lib/systemd/system/etcd.service root@192.168.142.130:/usr/lib/systemd/system/
scp /usr/lib/systemd/system/etcd.service root@192.168.142.131:/usr/lib/systemd/system/
在node01節(jié)點的操作
修改etcd文件
vim /opt/etcd/cfg/etcd
修改名稱和地址
[Member]
ETCD_NAME="etcd02"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https:/ /192.168.142.130:2380"
ETCD_LISTEN_CLIENT_URLS="https:/ /192.168.142.130:2379"[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https:/ /192.168.142.130:2380"
ETCD_ADVERTISE_CLIENT_URLS="https:/ /192.168.142.130:2379"
ETCD_INITIAL_CLUSTER="etcd01=http//192.168.142.129:2380,etcd02=https:/ /192.168.14.130:2380,etcd03=https:/ /192.168.142.131:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
啟動服務
systemctl start etcd
systemctl status etcd
3.在node02節(jié)點的操作
修改etcd文件
vim /opt/etcd/cfg/etcd
修改名稱和地址
[Member]
ETCD_NAME="etcd03"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https:#192.168.142.131:2380"
ETCD_LISTEN_CLIENT_URLS="https:#192.168.142.131:2379"[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https:#192.168.142.131:2380"
ETCD_ADVERTISE_CLIENT_URLS="https:#192.168.142.131:2379"
ETCD_INITIAL_CLUSTER="etcd01=https:#192.168.142.129:2380,etcd02=https:#192.168.142.130:2380,etcd03=https:#192.168.142.131:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
啟動服務
systemctl start etcd
部署 flannel
寫入分配的子網(wǎng)段到ETCD中,供flannel使用
/opt/etcd/bin/etcdctl --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem --endpoints="https:/ /192.168.149.131:2379,h ttps://192.168.220.140:2379,https:/ /192.168.220.136:2379 set /core os.com /network/config '{ "Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'
拷貝軟件包到所有的 node 節(jié)點
scp flannel-v0.10.0-linux-amd64.tar.gz root@192.168.220.140:/root
scp flannel-v0.10.0-linux-amd64.tar.gz root@192.168.220.136:/root
所有 node 節(jié)點將壓縮包解壓:
tar zvxf flannel-v0.10.0-linux-amd64.tar.gz
在node節(jié)點上,先創(chuàng)建k8s工作工作目錄:
mkdir /opt/kubernetes/{cfg,bin,ssl} -p
mv mk-docker-opts.sh flanneld /opt/kubernetes/bin/*
創(chuàng)建flanner腳本 vim flannel.sh
啟動并設置開啟自啟
systemctl daemon-reload
systemctl enable flanneld
systemctl restart flanneld
啟動flanner網(wǎng)絡功能
bash flannel.sh https:// 19 2.1 68.220.131:2379,https:/ /192.168.220.140:2379,http s://192.168.220.136:2379
at /run/flannel/subnet.env
DOCKER_OPT_BIP="--bip=172.17.53.1/24"
DOCKER_OPT_IPMASQ="--ip-masq=false"
DOCKER_OPT_MTU="--mtu=1450"DOCKER_NETWORK_OPTIONS=" --bip=172.17.53.1/24 --ip-masq=false --mtu=1450"
重啟docker
systemctl daemon-reload
systemctl restart docker
查看flanner網(wǎng)絡
看完上述內(nèi)容,你們掌握用二進制包部署Kubernetes集群的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享標題:如何用二進制包部署Kubernetes集群?-創(chuàng)新互聯(lián)
當前鏈接:http://www.rwnh.cn/article22/dpescc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、標簽優(yōu)化、做網(wǎng)站、網(wǎng)站設計、搜索引擎優(yōu)化、響應式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)