成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何快速部署 Kubernetes

云計(jì)算 云原生
本文主要介紹用 Kubeadm? 簡(jiǎn)單部署 Kubernetes 的過程,其中涉及到提前準(zhǔn)備機(jī)器、環(huán)境、安裝包等動(dòng)作,過程中需要大家細(xì)心操作,部分組件、包等不能通過 wget 順利下載時(shí),建議手工下載。

What is Kubernetes?

Kubernetes 這個(gè)單詞來自于希臘語(yǔ),含義是舵手或領(lǐng)航員。Kubernetes,也稱為 K8S,其中 8 是代表中間 “ubernete” 的 8 個(gè)字符。

官網(wǎng)描述如下圖:生產(chǎn)級(jí)別的容器編排系統(tǒng),是用于自動(dòng)部署,擴(kuò)展和管理容器化應(yīng)用程序的開源系統(tǒng)。 (編排:按照一定的目的依次排列;調(diào)配、安排)。

在這里插入圖片描述

K8S 是 CNCF 畢業(yè)的項(xiàng)目,本來 Kubernetes 是 Google 的內(nèi)部項(xiàng)目,后來開源出來,又后來為了其茁壯成長(zhǎng),捐給了 Cloud Native Computing Foundation(CNCF:云原生計(jì)算基金會(huì))

我們?cè)?github 上可以看到,Kubernetes 是采用 Go 語(yǔ)言開發(fā)的。Go(又稱 Golang)是 Google 開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語(yǔ)言。

在這里插入圖片描述

?

Kubernetes 架構(gòu)示意簡(jiǎn)圖

在這里插入圖片描述

Master(系統(tǒng)由控制面)

k8s 集群控制節(jié)點(diǎn),對(duì)集群進(jìn)行調(diào)度管理,接受集群外用戶去集群操作請(qǐng)求;

Master Node 由 API Server、Scheduler、ClusterState Store(ETCD 數(shù)據(jù)庫(kù))和 Controller MangerServer 所組成;

Nodes (數(shù)據(jù)面)

集群工作節(jié)點(diǎn),運(yùn)行用戶業(yè)務(wù)應(yīng)用容器;

Nodes 節(jié)點(diǎn)也叫 Worker Node,包含 kubelet、kube proxy 和 Pod(Container Runtime);

Kubernetes 環(huán)境搭建方式

部署 Kubernetes 環(huán)境(集群)主要有多種方式:

  • kubeadm:Kubeadm 是一個(gè) K8s 部署工具,提供 kubeadm init 和 kubeadm join 兩個(gè)操作命令,可以快速部署一個(gè) Kubernetes 集群;
  • minikube:minikube 可以在本地運(yùn)行 Kubernetes 的工具,minikube 可以在個(gè)人計(jì)算機(jī)(包括 Windows,macOS 和 Linux PC)上運(yùn)行一個(gè)單節(jié)點(diǎn) Kubernetes 集群,以便您可以試用 Kubernetes 或進(jìn)行日常開發(fā)工作;
  • 二進(jìn)制包方式:從 Github 下載發(fā)行版的二進(jìn)制包,手動(dòng)部署安裝每個(gè)組件,組成 Kubernetes 集群,步驟比較繁瑣,但是能讓你對(duì)各個(gè)組件有更清晰的認(rèn)識(shí);
  • yum 安裝方式:通過 yum 安裝 Kubernetes 的每個(gè)組件,組成 Kubernetes 集群,不過 yum 源里面的 k8s 版本已經(jīng)比較老了;
  • 第三方工具:利用一些大神封裝的工具進(jìn)行 k8s 環(huán)境的安裝;
  • 還有一種就是一些云服務(wù)公司的公用云平臺(tái) k8s。

Kubeadm 部署 Kubernetes

本文將介紹以上的第一種方式進(jìn)行示意部署講解:

kubeadm 是官方社區(qū)推出的一個(gè)用于快速部署 kubernetes 集群的工具,這個(gè)工具能通過兩條指令完成一個(gè) kubernetes 集群的部署;

創(chuàng)建一個(gè) Master 節(jié)點(diǎn):

kubeadm init

將 Node 節(jié)點(diǎn)加入到 Master 集群中:

$ kubeadm join <Master 節(jié)點(diǎn)的 IP 和端口>

Kubernetes 部署環(huán)境要求

  • 一臺(tái)或多臺(tái)機(jī)器,操作系統(tǒng) CentOS 7.x-86_x64
  • 硬件配置:內(nèi)存 2GB 以上,CPU 2 核或 CPU 2 核以上;
  • 集群內(nèi)各個(gè)機(jī)器之間能相互通信(必須);
  • 集群內(nèi)各個(gè)機(jī)器可以訪問外網(wǎng),需要拉取鏡像(非必須,也可手動(dòng)下載需要的文件包);
  • 禁止 swap 分區(qū);

Kubernetes 部署環(huán)境準(zhǔn)備

關(guān)閉防火墻:

systemctl stop firewalld
systemctl disable firewalld

關(guān)閉 selinux:

sed -i 's/enforcing/disabled/' /etc/selinux/config  #永久
setenforce 0 #臨時(shí)

關(guān)閉 swap(k8s 禁止虛擬內(nèi)存以提高性能):

sed -ri 's/.*swap.*/#&/' /etc/fstab #永久
swapoff -a #臨時(shí)

在 master 添加 hosts (ip 地址根據(jù)自己預(yù)先設(shè)置的為準(zhǔn)):

cat >> /etc/hosts << EOF 192.168.52.100 k8smaster 192.168.52.101 k8snode EOF

設(shè)置網(wǎng)橋參數(shù):

cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
sysctl --system #生效

時(shí)間同步:

yum install ntpdate -y
ntpdate time.windows.com

Kubernetes 安裝具體步驟

所有服務(wù)器節(jié)點(diǎn)安裝 Docker、kubeadm、kubelet、kubectl,Kubernetes 默認(rèn)容器運(yùn)行環(huán)境是 Docker,因此首先需要安裝 Docker;

(1) 安裝 Docker

更新 docker 的 yum 源:

yum install wget -y
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

安裝指定版本的 docker(自行替換最新版本號(hào) x.x.x.x):

yum install docker-ce-x.x.x.x -y

配置加速器加速下載:

/etc/docker/daemon.json
{

"registry-mirrors": ["https://cr.console.aliyun.com/"]
}

然后執(zhí)行,不然會(huì)提示警告:

systemctl enable docker.service

(2) 接下搭建:kubeadm、kubelet、kubectl , 添加 k8s 的阿里云 YUM 源:

cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF

(3) 安裝 kubeadm,kubelet 和 kubectl

yum install kubelet-1.24.1 kubeadm-1.24.1 kubectl-1.24.1 -y

然后執(zhí)行,不然會(huì)提示警告:

systemctl enable kubelet.service

查看有沒有安裝:

yum list installed | grep kubelet
yum list installed | grep kubeadm
yum list installed | grep kubectl

查看安裝的版本:

kubelet –version
  • Kubelet:運(yùn)行在 cluster 所有節(jié)點(diǎn)上,負(fù)責(zé)啟動(dòng) POD 和容器;
  • Kubeadm:用于初始化 cluster 的一個(gè)工具;
  • Kubectl:kubectl 是 kubenetes 命令行工具,通過 kubectl 可以部署和管理應(yīng)用,查看各種資源,創(chuàng)建,刪除和更新組件;

此時(shí)應(yīng)重啟一下系統(tǒng) reboot(centos);

(4) 部署 Kubernetes Master 主節(jié)點(diǎn)(此命令在 master 機(jī)器上執(zhí)行)

kubeadm init --apiserver-advertise-address=192.168.52.100 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.24.1 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

補(bǔ)充:service-cidr 的選取不能和 PodCIDR 及本機(jī)網(wǎng)絡(luò)有重疊或者沖突,一般可以選擇一個(gè)本機(jī)網(wǎng)絡(luò)和 PodCIDR 都沒有用到的私網(wǎng)地址段,比如 PODCIDR 使用 10.244.0.0/16, 那么 service cidr 可以選擇 10.96.0.0/12,網(wǎng)絡(luò)無重疊沖突即可;

接下來在 master 機(jī)器上執(zhí)行:

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

kubectl get nodes

接下來把 node 節(jié)點(diǎn)加入 Kubernetes master 中,在 Node 機(jī)器上執(zhí)行;

向集群添加新節(jié)點(diǎn),執(zhí)行的命令是 kubeadm init 最后輸出的 kubeadm join 命令(如下圖):

在這里插入圖片描述

kubeadm join 192.168.52.101:端口號(hào) --token wa5bif.zfuvbesevdfvf4of \
--discovery-token-ca-cert-hash sha256:87cf5828d54dd80da13c4b57c57360370ea0267a7cc3991989ca3006cf3e44d8

在這里插入圖片描述

部署網(wǎng)絡(luò)插件

下載 kube-flannel.yml 文件 (flannel 作為 k8s 的集群中常用的網(wǎng)絡(luò)組件,其 yml 文件的獲取,建議去 github 中獲?。?/p>

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

應(yīng)用 kube-flannel.yml 文件得到運(yùn)行時(shí)容器;

kubectl apply -f kube-flannel.yml (在 master 機(jī)器上執(zhí)行):


在這里插入圖片描述

然后查看節(jié)點(diǎn)狀態(tài): kubectl get nodes (在 master 機(jī)器上執(zhí)行),STATUS:Ready 時(shí),說明我們的 k8s 環(huán)境至此就搭建好了。

查看運(yùn)行時(shí)容器 pod (一個(gè) pod 里面運(yùn)行了多個(gè) docker 容器)

kubectl get pods -n kube-system

在這里插入圖片描述

以上就是用 Kubeadm? 簡(jiǎn)單部署 Kubernetes 的過程,其中涉及到提前準(zhǔn)備機(jī)器、環(huán)境、安裝包等動(dòng)作,過程中需要大家細(xì)心操作,部分組件、包等不能通過 wget 順利下載時(shí),建議手工下載。

責(zé)任編輯:趙寧寧 來源: 開源博客
相關(guān)推薦

2021-07-16 09:51:21

kubernetes環(huán)境容器

2023-08-03 07:35:10

kubernetes云原生

2017-11-13 18:49:58

華為

2021-09-08 11:25:45

KubernetesAPISIXLinux

2024-07-22 15:49:07

KubernetesRedis

2020-08-25 07:48:17

Kubernetes集群系統(tǒng)

2017-09-07 10:36:55

Kubernetes企業(yè)級(jí)

2021-06-24 08:00:00

開發(fā)Hugo工具

2021-03-12 08:00:00

Kubernetes工具

2017-03-22 10:06:40

ubuntuceph集群

2019-07-30 10:33:01

2019-12-06 14:24:58

Kubernetes容器YAML

2024-03-14 11:22:54

2021-12-03 23:21:45

數(shù)據(jù)庫(kù)MySQLKubernetes

2021-08-10 07:27:42

Elasticsear集群開源

2021-09-30 08:00:00

Kubernetes容器工具

2023-09-26 07:34:24

Docker部署依賴包

2021-12-03 11:06:01

VeleroKubernetesLinux

2020-12-04 18:44:29

KubernetesHTTPS Wordpress
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久www成人免费精品 | 伊人艹| 欧美嘿咻| 日屁网站 | 9999精品视频| 成人在线免费观看视频 | 午夜久久久久久久久久一区二区 | 一区二区三区在线观看视频 | 国产精品高潮呻吟久久 | 九九热在线视频 | 欧美日韩成人影院 | 91免费高清视频 | 欧美激情精品久久久久久 | 亚洲成人蜜桃 | 黄视频免费 | 真人毛片 | 免费久久久久久 | 午夜精品一区二区三区在线视频 | 伊人久久成人 | 午夜av免费 | 最新伦理片 | 欧美日韩1区 | 天天天操操操 | 羞羞网站免费 | 一区视频| 国产精品中文字幕在线观看 | 亚洲精品久久久久久久久久久 | 日日日操 | 日韩二三区 | 国产精品夜夜春夜夜爽久久电影 | 免费永久av | 亚洲一级视频在线 | 亚洲一级在线 | 成人av一区二区亚洲精 | 国产欧美在线播放 | 日韩中文在线视频 | av中文字幕在线 | 综合色婷婷 | 国产综合一区二区 | 亚洲视频在线看 | 国产精品久久久久久一区二区三区 |