欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Ubuntu怎么搭建Kubernetes集群

這篇文章主要介紹“Ubuntu怎么搭建Kubernetes集群”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Ubuntu怎么搭建Kubernetes集群”文章能幫助大家解決問(wèn)題。

商南網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

關(guān)于 Kubernetes

下面是一段來(lái)自維基百科的關(guān)于 Kubernetes 的解釋?zhuān)?/p>

Kubernetes(常簡(jiǎn)稱(chēng)為 K8s)是用于自動(dòng)部署、擴(kuò)展和管理「容器化(containerized)應(yīng)用程序」的開(kāi)源系統(tǒng)。該系統(tǒng)由 Google 設(shè)計(jì)并捐贈(zèng)給 Cloud Native Computing Foundation(今屬 Linux 基金會(huì))來(lái)使用。
它旨在提供“跨主機(jī)集群的自動(dòng)部署、擴(kuò)展以及運(yùn)行應(yīng)用程序容器的平臺(tái)”。它支持一系列容器工具,包括Docker等。

Kubernetes 可以為我們提供 服務(wù)發(fā)現(xiàn)和負(fù)載均衡、存儲(chǔ)編排、自動(dòng)部署和回滾、自動(dòng)完成裝箱計(jì)算、自我修復(fù) 和 密鑰與配置管理 的能力。

基礎(chǔ)環(huán)境準(zhǔn)備

安裝 VirtualBox

VirtualBox 是一種功能強(qiáng)大的虛擬機(jī)軟件,而且是開(kāi)源免費(fèi)的,這是下載地址,安裝 VirtualBox 非常簡(jiǎn)單,這里我就不贅述了。

下載 Ubuntu 16 系統(tǒng)鏡像

這里我選擇了 Ubuntu 16 作為系統(tǒng)鏡像,當(dāng)然你也可以使用其他系統(tǒng),比如 CentOS 等,Ubuntu 16 的下載地址。

虛擬機(jī) x3

安裝好了 VirtualBox,下載了 Ubuntu 16 的鏡像后,我們首先需要搭建三臺(tái) Ubuntu 16 的虛擬機(jī)。這個(gè)新建虛擬機(jī)的過(guò)程也是比較簡(jiǎn)單的,一步一步往下走就可以了。新建完成后,我們需要對(duì)每臺(tái)虛擬機(jī)進(jìn)行相應(yīng)的配置,配置時(shí)使用的用戶(hù)應(yīng)該是 root 用戶(hù)。

虛擬機(jī) IP

由于我們使用的是虛擬機(jī),我們會(huì)給每臺(tái)虛擬機(jī)配置網(wǎng)卡,讓每臺(tái)虛擬機(jī)都可以上網(wǎng)的,這里有兩種方式:

  • 使用 橋接網(wǎng)卡,每臺(tái)虛擬機(jī)的 IP 將會(huì)是宿主機(jī)網(wǎng)段的,支持虛擬機(jī)上網(wǎng)

  • 使用 NAT 網(wǎng)絡(luò) + 端口轉(zhuǎn)發(fā),網(wǎng)段自行設(shè)置,支持虛擬機(jī)上網(wǎng)

大家可以使用其中任意一種方式給虛擬機(jī)配置網(wǎng)卡,從而讓虛擬機(jī)可以上網(wǎng)。

需要注意的是,在集群搭建完成后,集群中的每個(gè)節(jié)點(diǎn)的 IP 要求保持不變,否則節(jié)點(diǎn)需要重新加入。

簡(jiǎn)單的方式就是讓虛擬機(jī)不關(guān)機(jī),而是進(jìn)入睡眠狀態(tài),下次只需喚醒即可。

在集群中,我們使用的是內(nèi)網(wǎng)地址,可以通過(guò) ifconfig 或者 ip addr 找到每臺(tái)虛擬機(jī)對(duì)應(yīng)的內(nèi)網(wǎng)地址:

> ifconfig

enp0s3    Link encap:Ethernet  HWaddr 08:00:27:6f:23:2a  
          inet addr:10.0.2.4  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe6f:232a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3277016 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3385793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1084480916 (1.0 GB)  TX bytes:2079122979 (2.0 GB)

這臺(tái)虛擬機(jī)(master)的地址就是 10.0.2.4。

配置主機(jī)名

Kubernetes 的節(jié)點(diǎn)名稱(chēng)是由主機(jī)名決定的,所以我們可以分別設(shè)置三臺(tái)虛擬機(jī)的主機(jī)名為 master、node1 和 node2,通過(guò)修改 /etc/hosts 文件來(lái)修改主機(jī)名,需要重啟虛擬機(jī):

# /etc/hosts
10.0.2.4 master
10.0.2.5 node1
10.0.2.6 node2

SSH 無(wú)密連接

在虛擬機(jī)運(yùn)行起來(lái)后,我們要做的第一件事就是要連通這三臺(tái)虛擬機(jī),即配置 SSH 無(wú)密連接。
首先在其中的一臺(tái)虛擬機(jī)上生成 SSH 的公私鑰:

ssh-keygen -t rsa -C 'k8scat@gmail.com' -f ~/.ssh/id_rsa -q -N ''

關(guān)于 ssh-keygen 的參數(shù)說(shuō)明:

  • -t rsa 指定加密算法為 RSA

  • -C 'k8scat@gmail.com' 用于提供一個(gè)備注,表明私鑰的生成者

  • -f ~/.ssh/id_rsa 指定私鑰生成的位置

  • -q -N '' 表示不對(duì)私鑰加密碼,以及使用靜默的方式

將公私鑰分發(fā)給另外兩臺(tái)虛擬機(jī),并在三臺(tái)虛擬機(jī)上都將公鑰(~/.ssh/id_rsa.pub)的內(nèi)容寫(xiě)進(jìn) ~/.ssh/authorized_keys 文件中,同時(shí)設(shè)置 ~/.ssh/authorized_keys 文件的權(quán)限為 400:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 400 ~/.ssh/authorized_keys

配置完成后,我們將可以通過(guò)以下方式在其中一個(gè)虛擬機(jī)上連接另一臺(tái)虛擬機(jī)了:

# 在 master 節(jié)點(diǎn)上
ssh root@node1

Kubernetes 集群搭建

在弄好三臺(tái)虛擬機(jī)后,我們便可以開(kāi)始搭建一個(gè)擁有三個(gè)節(jié)點(diǎn)的 Kubernetes 的集群了。

安裝 Docker

apt-get update -y
apt-get install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg \
  lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# INSTALL DOCKER ENGINE
apt-get update -y
apt-get install -y docker-ce docker-ce-cli containerd.io

# Configure Docker to start on boot
systemctl enable docker.service
systemctl enable containerd.service

# Start Docker
systemctl start docker

安裝 kubeadm、kubelet 和 kubectl

這里使用的是阿里云的鏡像源:

# 更新 apt 包索引并安裝使用 Kubernetes apt 倉(cāng)庫(kù)所需要的包
apt-get update -y
apt-get install -y apt-transport-https ca-certificates curl

# 下載 Google Cloud 公開(kāi)簽名秘鑰
# curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

# 添加 Kubernetes apt 倉(cāng)庫(kù)
# echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 更新 apt 包索引,安裝 kubelet、kubeadm 和 kubectl,并鎖定其版本
apt-get update -y
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl

關(guān)閉 SWAP

編輯 /etc/fstab 文件并注釋掉 swap 分區(qū)的配置:

#/dev/mapper/master--vg-swap_1 none            swap    sw              0       0

預(yù)先下載鏡像

獲取 kubeadm init 需要使用到的鏡像列表:

> kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.21.1
k8s.gcr.io/kube-controller-manager:v1.21.1
k8s.gcr.io/kube-scheduler:v1.21.1
k8s.gcr.io/kube-proxy:v1.21.1
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coreDNS/coredns:v1.8.0

k8s 的鏡像源對(duì)于國(guó)內(nèi)用戶(hù)是可望而不可即的,但我們可以先拉到國(guó)內(nèi)的鏡像倉(cāng)或者可以使用的鏡像倉(cāng)

我們可以新建一個(gè) GitHub 代碼倉(cāng),里面只有一個(gè) Dockerfile,其內(nèi)容如下:

FROM k8s.gcr.io/kube-apiserver:v1.21.0

然后在阿里云的容器鏡像服務(wù) ACR 中新建一個(gè)鏡像,并關(guān)聯(lián)這個(gè) GitHub 代碼倉(cāng),構(gòu)建出來(lái)的鏡像就是我們要的 k8s 鏡像,比如上面的 k8s.gcr.io/kube-apiserver:v1.21.1,但在使用的時(shí)候需要重新給鏡像打標(biāo)簽。

在 ACR 中構(gòu)建好了所有需要的鏡像后,使用下面這個(gè)腳本可以快速處理給鏡像打標(biāo)簽的任務(wù):

# Pull images from aliyun registry
kubeadm config images list | sed -e 's/^/docker pull /g' -e 's#k8s.gcr.io#registry.cn-shenzhen.aliyuncs.com/k8scat#g' -e 's#/coredns/coredns#/coredns#g' | sh -x

# Tag images
docker images | grep k8scat | awk '{print "docker tag",$1":"$2,$1":"$2}' | sed -e 's#registry.cn-shenzhen.aliyuncs.com/k8scat#k8s.gcr.io#2' | sh -x
docker tag k8s.gcr.io/coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0

# Remove images
docker images | grep k8scat | awk '{print "docker rmi",$1":"$2}' | sh -x

初始化 master 節(jié)點(diǎn)

10.0.2.4 是 master 節(jié)點(diǎn)的 IP 地址,設(shè)置 pod 網(wǎng)段為 192.168.16.0/20:

> kubeadm init --apiserver-advertise-address=10.0.2.4 --pod-network-cidr=192.168.16.0/20

kubeadm join 10.0.2.4:6443 --token ioshf8.40n8i0rjsehpigcl \
    --discovery-token-ca-cert-hash sha256:085d36848b2ee8ae9032d27a444795bc0e459f54ba043500d19d2c6fb044b065

加入 node 節(jié)點(diǎn)

kubeadm join 10.0.2.4:6443 --token ioshf8.40n8i0rjsehpigcl \
    --discovery-token-ca-cert-hash sha256:085d36848b2ee8ae9032d27a444795bc0e459f54ba043500d19d2c6fb044b065

分發(fā) kubectl 配置文件

scp master:/etc/kubernetes/admin.conf /etc/kubernetes/admin.conf
echo 'export KUBECONFIG="/etc/kubernetes/admin.conf"' >> /etc/profile
source /etc/profile

安裝網(wǎng)絡(luò)插件

這里我們使用的是 Weave Net:

# curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" > weave-net.yaml

# With IPALLOC_RANGE
kubectl apply -f https://gist.githubusercontent.com/k8scat/c6a1aa5a1bdcb8c220368dd2db69bedf/raw/da1410eea6771c56e93f191df82206be8e722112/k8s-weave-net.yaml

關(guān)于“Ubuntu怎么搭建Kubernetes集群”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

新聞名稱(chēng):Ubuntu怎么搭建Kubernetes集群
當(dāng)前鏈接:http://www.chinadenli.net/article18/iiocdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)標(biāo)簽優(yōu)化小程序開(kāi)發(fā)網(wǎng)站設(shè)計(jì)商城網(wǎng)站響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)