第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 Docker 入門教程 Docker 入門教程 使用虛擬機安裝部署Kubernetes集群(二)

使用虛擬機安裝部署Kubernetes集群(二)

本小節(jié)接上文,這一節(jié)我們將開始部署 K8S 集群。

1. 拷貝虛擬機

本次部署的 K8s 集群由 1 個 Master 節(jié)點和 3 個 Worker 節(jié)點組成。上一節(jié)中我們已經(jīng)在 master-1 節(jié)點安裝了 Docker 和 K8s 運行環(huán)境,另三個節(jié)點直接將這個虛擬機拷貝三份即可。

首先我們將 master-1 虛擬機關(guān)機。在 Virtualbox 管理控制臺主頁面,右鍵 master-1 虛擬機,點擊復(fù)制...

圖片描述

選擇專家模式:

圖片描述

進入專家模式,先設(shè)定新虛擬機名稱,這里使用 worker-1 方便區(qū)分,副本類型選擇 完全復(fù)制,MAC地址設(shè)定 為所有網(wǎng)卡重新生成MAC地址。然后點擊復(fù)制,virtualbox 開始復(fù)制虛擬機。

圖片描述

復(fù)制完成后,可以看到控制臺中出現(xiàn)了新的虛擬機 worker-1。

圖片描述

我們一共需要三個 worker 節(jié)點,接下來再重復(fù)上面的步驟兩次,完成之后我們就擁有了四臺虛擬機。

圖片描述

2. 配置靜態(tài)IP和主機名

將所有虛擬機都啟動起來,在虛擬機中使用ip a 命令查看各個虛擬機的IP地址,由于默認系統(tǒng)使用的DHCP服務(wù),網(wǎng)卡隨機獲取了當前網(wǎng)段內(nèi)空閑的IP,地址我們希望各個節(jié)點的IP能固定起來,不要隨意變動。

根據(jù)當前的網(wǎng)絡(luò)狀態(tài)(192.168.1.0/24網(wǎng)段),我們計劃節(jié)點配置如下:

Tips
不同的網(wǎng)絡(luò)環(huán)境獲取的網(wǎng)段、IP 地址也不一致,需要根據(jù)自己的實際情況調(diào)整,設(shè)定變更的IP地址需要確認沒有被占用。

虛擬機名稱 IP地址 主機名hostname
master-1 192.168.1.200 master1.node
worker-1 192.168.1.201 worker1.node
worker-2 192.168.1.202 worker2.node
worker-3 192.168.1.203 worker3.node

1. 設(shè)定 master-1 的主機名

declare -x HOSTNAME="master1.node"
hostname $HOSTNAME
cat << EOF > /etc/hostname
$HOSTNAME
EOF
cat << EOF > /etc/hosts
127.0.0.1 $HOSTNAME
192.168.1.200 master1.node
192.168.1.201 worker1.node
192.168.1.202 worker2.node
192.168.1.203 worker3.node
EOF

2. 設(shè)定 master-1 的 IP 地址:

# 默認的網(wǎng)卡名稱就是enp0s3
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="enp0s3"
DEVICE="enp0s3"
ONBOOT="yes"
# 指定IP地址、網(wǎng)關(guān)和掩碼,根據(jù)實際情況進行修改
IPADDR=192.168.1.200
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
DNS1=223.6.6.6

保存更改后執(zhí)行:

# 重載網(wǎng)口配置
nmcli c reload

輸入命令hostnameip a 查看master-1的主機名和IP更改。
圖片描述

3. 對worker-1、 worker-2、worker-3節(jié)點進行上述操作,一定要注意主機名和IP地址變更。

3. 配置Master節(jié)點

使用宿主機的命令行工具 ssh 登錄到 master-1 節(jié)點,先讀取我們的 K8s 版本號:

version=`cat .k8s.version`

設(shè)定kubeadm配置文件kubeadm.yaml

cat << EOF > kubeadm.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
controllerManager:
    extraArgs:
        horizontal-pod-autoscaler-use-rest-clients: "true"
        horizontal-pod-autoscaler-sync-period: "10s"
        node-monitor-grace-period: "10s"
apiServer:
    extraArgs:
        runtime-config: "api/all=true"
kubernetesVersion: "v$version"
imageRepository: "registry.aliyuncs.com/google_containers"
EOF

使用此配置文件進行 master 節(jié)點安裝部署:

kubeadm init --config kubeadm.yaml

等待一段時間,部署完成,它會給我們一段提示

圖片描述

master-1上執(zhí)行:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Tips: 在worker節(jié)點上進行如下操作可以將節(jié)點添加到K8s集群,但現(xiàn)在還不急,先記下來。

kubeadm join 192.168.1.200:6443 --token 4hmk4a.4h0zrymxjmudhjmq \
    --discovery-token-ca-cert-hash sha256:edf04a8954bb2729d8d603e14e802e72109ae10346503b5b283481ce08b02186

執(zhí)行kubectl get nodes查看當前節(jié)點的狀態(tài):

圖片描述

發(fā)現(xiàn)狀態(tài)為NotReady,原因是我們尚未配置網(wǎng)絡(luò)相關(guān)的插件,一些跟k8s服務(wù)相關(guān)容器無法連接到網(wǎng)絡(luò)。

常用的容器網(wǎng)絡(luò)接口插件有 Flannel 、Calico、 Weave 等,這里我們選擇簡單易用的 weave 網(wǎng)絡(luò)插件

kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$version

安裝完畢后,查看當前節(jié)點狀態(tài)變?yōu)?code>Ready。

圖片描述

4. 配置 Worker 節(jié)點

在三個 Worker 節(jié)點上執(zhí)行之前記錄的增加節(jié)點指令

Tips: 記得替換成自己操作環(huán)境中獲取的指令

kubeadm join 192.168.1.200:6443 --token 4hmk4a.4h0zrymxjmudhjmq \
    --discovery-token-ca-cert-hash sha256:edf04a8954bb2729d8d603e14e802e72109ae10346503b5b283481ce08b02186

耐心等待 3-5 分鐘,在 master 節(jié)點執(zhí)行kubectl get nodes -o wide查看節(jié)點詳情,所有節(jié)點狀態(tài)均為Ready

image-20200714010704387

至此,K8s 集群已經(jīng)初步搭建完成。

5. 小結(jié)

我們使用 kubeadm 部署了一個“1 master + 3 worker” Kubernetes 集群,使用 Weave 網(wǎng)絡(luò)插件,已初步可用。