中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Kubernetes集群的部署

發布時間:2021-09-26 15:50:18 來源:億速云 閱讀:184 作者:柒染 欄目:系統運維

這期內容當中小編將會給大家帶來有關如何進行Kubernetes集群的部署,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

概述

K8S集群部署有幾種方式:kubeadm、minikube和二進制包。前兩者屬于自動部署,簡化部署操作。而在生成環境中一般使用二進制包部署,以下就是使用二進制包部署Kubernetes集群。

架構總規劃圖

如何進行Kubernetes集群的部署

環境準備

三臺主機,一臺作為master節點,二臺作為node節點。

其中master節點需要安裝以下組件
kube-apiserver、kube-controller-manager、kube-scheduler、etcd
node節點需要安裝以下組件
kubelet、kube-proxy、docker、flannel、etcd

組件介紹

如何進行Kubernetes集群的部署

Flanner:Flannel是針對Kubernetes設計的一個網絡規劃服務,簡單來說,它的功能是讓集群中的不同節點主機創建的Docker容器都具有全集群唯一的虛擬IP地址。但在默認的Docker配置中,每個Node的Docker服務會分別負責所在節點容器的IP分配。Node內部得容器之間可以相互訪問,但是跨主機(Node)網絡相互間是不能通信。Flannel設計目的就是為集群中所有節點重新規劃IP地址的使用規則,從而使得不同節點上的容器能夠獲得"同屬一個內網"且"不重復的"IP地址,并讓屬于不同節點上的容器能夠直接通過內網IP通信。

部署流程

從官方網站上下載二進制包

部署etcd存儲

etcd存儲在master節點和node節點都需要部署,首先在master節點部署

編輯腳本下載官方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-certinfo

chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo

執行腳本

bash cfssl.sh

如何進行Kubernetes集群的部署

此時cd /usr/local/bin/目錄生成三個文件

cfssl:是生成證書工具
cfssljson:通過傳入json文件生成證書
cfssl-certinfo:是查看證書信息

給這三個文件添加執行權限

chmod 777 cfssl cfssl-certinfo cfssljson

定義ca證書,生成證書

構建好二個腳本,生成證書
第一個腳本 vim etcd-cert.sh
定義ca證書

如何進行Kubernetes集群的部署

證書簽名

如何進行Kubernetes集群的部署

如何進行Kubernetes集群的部署

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

如何進行Kubernetes集群的部署
如何進行Kubernetes集群的部署

腳本配置完成,重新加載,開啟etcd以及設置開機自啟動,關閉防火墻,增強性安全功能

systemctl daemon-reload
systemctl enable etcd
systemctl restart etcd
systemctl stop firewalld.service
setenforce 0

創建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/

進入卡住狀態等待其他節點加入

bash etcd.sh etcd01 192.168.142.129 etcd02=https:/ /192.168.142.130:2380,etcd03=https:/ /192.168.149.131:2380

使用另外一個會話打開,會發現etcd進程已經開啟
ps -ef | grep etcd

拷貝證書去其他節點

scp -r /opt/etcd/ root@192.168.142.130:/opt/
scp -r /opt/etcd/ root@192.168.142.131:/opt/

啟動腳本拷貝其他節點

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節點的操作

修改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節點的操作

修改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

寫入分配的子網段到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 節點

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 節點將壓縮包解壓:

tar zvxf flannel-v0.10.0-linux-amd64.tar.gz

在node節點上,先創建k8s工作工作目錄:

mkdir /opt/kubernetes/{cfg,bin,ssl} -p
mv mk-docker-opts.sh flanneld /opt/kubernetes/bin/*

創建flanner腳本 vim flannel.sh

如何進行Kubernetes集群的部署
啟動并設置開啟自啟

systemctl daemon-reload
systemctl enable flanneld
systemctl restart flanneld

啟動flanner網絡功能

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網絡

如何進行Kubernetes集群的部署

上述就是小編為大家分享的如何進行Kubernetes集群的部署了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通许县| 榆树市| 衡南县| 武城县| 富顺县| 丰镇市| 兰州市| 方城县| 紫金县| 翁源县| 梁平县| 新疆| 梅州市| 吉林市| 德阳市| 顺义区| 荆门市| 墨脱县| 望都县| 长兴县| 双牌县| 邵阳市| 四会市| 邵武市| 高安市| 瑞昌市| 和林格尔县| 界首市| 垦利县| 芮城县| 红桥区| 渭南市| 许昌市| 乌拉特中旗| 阿克| 石首市| 彰武县| 青河县| 临湘市| 云林县| 灌云县|