国产性生交xxxxx免费-国产中文字幕-啊灬啊灬啊灬快灬高潮了,亚洲国产午夜精品理论片在线播放 ,亚洲欧洲日本无在线码,色爽交视频免费观看

鍋爐信息網(wǎng) > 鍋爐知識 > 鍋爐資訊

k8s三節(jié)點部署文檔

發(fā)布時間:

K8s三節(jié)點部署文檔參考文檔:https://zhuanlan.zhihu.com/p/138876909https://zhuanlan.zhihu.com/p/165572107https://zhuanlan.zh

K8s三節(jié)點部署文檔

參考文檔:

https://zhuanlan.zhihu.com/p/138876909

https://zhuanlan.zhihu.com/p/165572107

https://zhuanlan.zhihu.com/p/163107995

1、更改主機名(三節(jié)點)

主節(jié)點:hostnamectl set-hostname master

副節(jié)點:hostnamectl set-hostname node1

副節(jié)點:hostnamectl set-hostname node2

2、查看Linux內(nèi)核版本(三節(jié)點)

uname -r

建議使用4.4,3.1與k8s不穩(wěn)定;

3、關(guān)閉防火墻(三節(jié)點)

systemctl disable firewalld

systemctl stop firewalld

4、關(guān)閉selinux(三節(jié)點)

vi /etc/selinux/config

將enabled改為disabled重啟生效

5、關(guān)閉swap分區(qū)(三節(jié)點)

臨時關(guān)閉:

swapoff -a

永久關(guān)閉:

vi /etc/fstab

將選中區(qū)域注釋


6、修改/etc/hosts(三節(jié)點)

192.168.100.30 master

192.168.100.31 node1

192.168.100.32 node2

7、安裝yum源

8、設(shè)置時間同步(主節(jié)點master)

(1)安裝ntpdate

yum install -y ntpdate

(2)注釋默認ntp服務(wù)器

sed -i 's/^server/#&/' /etc/chrony.conf


(3)指定上游公共 ntp 服務(wù)器,并允許其他節(jié)點同步時間

cat >> /etc/chrony.conf << EOF

server http://0.asia.pool.ntp.org iburst

server http://1.asia.pool.ntp.org iburst

server http://2.asia.pool.ntp.org iburst

server http://3.asia.pool.ntp.org iburst

allow all

EOF


(4)重啟chrony服務(wù)器并設(shè)置開機自啟動

systemctl enable chronyd && systemctl restart chronyd

(5)開啟網(wǎng)絡(luò)時間同步功能

timedatectl set-ntp true

9、安裝chrony(輔助節(jié)點nodde)

(1)安裝chrony

yum install chrony -y

(2)注釋默認服務(wù)器

sed -i 's/^server/#&/' /etc/chrony.conf


(3)指定master為上游ntp服務(wù)器

echo server 192.168.100.30 iburst >> /etc/chrony.conf


(4)重啟服務(wù)并設(shè)為開機啟動

systemctl enable chronyd && systemctl restart chronyd

(5)檢查配置

所有NODE節(jié)點執(zhí)行chronyc sources命令,查看存在以^*開頭的行,說明已經(jīng)與服務(wù)器時間同步


10、將橋接的IPv4流量傳遞到iptables的鏈(所有節(jié)點)

(1)RHEL / CentOS 7上的一些用戶報告了由于iptables被繞過而導(dǎo)致流量路由不正確的問題。創(chuàng)建/etc/sysctl.d/k8s.conf文件,添加如下內(nèi)容:

vm.swappiness = 0

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

(2)使配置生效

modprobe br_netfilter

sysctl -p /etc/sysctl.d/k8s.conf


11、加載ipvs相關(guān)模塊(所有節(jié)點)

(1)由于ipvs已經(jīng)加入到了內(nèi)核的主干,所以為kube-proxy開啟ipvs的前提需要加載以下的內(nèi)核模塊:

在所有的Kubernetes節(jié)點執(zhí)行以下腳本:

cat > /etc/sysconfig/modules/ipvs.modules <<EOF

#!/bin/bash

modprobe -- ip_vs

modprobe -- ip_vs_rr

modprobe -- ip_vs_wrr

modprobe -- ip_vs_sh

modprobe -- nf_conntrack_ipv4

EOF

(2)增加權(quán)限

chmod +x /etc/sysconfig/modules/ipvs.modules

(3)執(zhí)行腳本

sh /etc/sysconfig/modules/ipvs.modules

(4)解釋:上面腳本創(chuàng)建了/etc/sysconfig/modules/ipvs.modules文件,保證在節(jié)點重啟后能自動加載所需模塊。 使用lsmod | grep -e ip_vs -e nf_conntrack_ipv4命令查看是否已經(jīng)正確加載所需的內(nèi)核模塊。

接下來還需要確保各個節(jié)點上已經(jīng)安裝了ipset軟件包。 為了便于查看ipvs的代理規(guī)則,最好安裝一下管理工具ipvsadm。

(5)安裝管理工具

yum install ipset ipvsadm -y

12、所有節(jié)點安裝Docker kubeadm-引導(dǎo)集群的工具 / kubelet-容器管理

注:Kubernetes默認CRI(容器運行時)為Docker,因此先安裝Docker。

Kubernetes默認的容器運行時仍然是Docker,使用的是kubelet中內(nèi)置dockershim CRI實現(xiàn)。需要注意的是,Kubernetes 1.13最低支持的Docker版本是1.11.1,最高支持是18.06,而Docker最新版本已經(jīng)是18.09了,故我們安裝時需要指定版本為18.06.1-ce。

(1)設(shè)置yum源

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

(2)安裝docker

yum -y install docker-ce-18.06.1.ce-3.el7

設(shè)置開機自啟動以及啟動docker

systemctl enable docker && systemctl start docker

查看docer的版本

docker --version

(3)設(shè)置docker加速器

cat > /etc/docker/daemon.json << EOF

{

"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]

}

EOF

(4)將添加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

(5)所有節(jié)點安裝kubeadm,kubelet和kubectl

注:由于版本更新頻繁,這里指定版本號部署:

yum install -y kubelet-1.17.0 kubeadm-1.17.0 kubectl-1.17.0

systemctl enable kubelet && systemctl start kubelet

13、部署Kubernetes(master節(jié)點)

(1)手動拉取鏡像

curl -sfL

https://gitlab.abcxlab.com/bootcamp/k8s-quick-start/-/raw/master/k8s/pull-kube-image.sh | bash -

(2)由于默認拉取鏡像地址http://k8s.gcr.io國內(nèi)無法訪問,這里指定阿里云鏡像倉庫地址

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

(注意記錄下初始化結(jié)果中的kubeadm join命令,部署worker節(jié)點時會用到)

kubeadm join 192.168.100.30:6443 --token gz68wt.0utdk93fce1rqo79

--discovery-token-ca-cert-hash sha256:3d69ea8ab91d3bc728425645aa318ba86faf1f0d21186dedb5b4600a6963a22c

k8s部署文檔.docxkube-flannel.ymkubernetes-dashboard.yaml

13、使用kubectl工具

(1)配置工具

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

(2)查看節(jié)點狀態(tài)可以看到,當(dāng)前只存在1個master節(jié)點,并且這個節(jié)點的狀態(tài)是 NotReady。

kubectl get nodes

(3)查看集群狀態(tài):確認各個組件都處于healthy狀態(tài)。

kubectl get cs

(4)查看當(dāng)前節(jié)點詳細信息

kubectl api-resources

(5)注:通過 kubectl describe 指令的輸出,我們可以看到 NodeNotReady 的原因在于,我們尚未部署任何網(wǎng)絡(luò)插件,kube-proxy等組件還處于starting狀態(tài)。 另外,我們還可以通過 kubectl 檢查這個節(jié)點上各個系統(tǒng) Pod 的狀態(tài),其中,kube-system 是 Kubernetes 項目預(yù)留的系統(tǒng) Pod 的工作空間(Namepsace,注意它并不是 Linux Namespace,它只是 Kubernetes 劃分不同工作空間的單位):

# 5.3.4檢查這個節(jié)點上各個系統(tǒng) Pod 的狀態(tài)

可以看到,CoreDNS依賴于網(wǎng)絡(luò)的 Pod 都處于 Pending 狀態(tài),即調(diào)度失敗。這當(dāng)然是符合預(yù)期的:因為這個 Master 節(jié)點的網(wǎng)絡(luò)尚未就緒。 集群初始化如果遇到問題,可以使用kubeadm reset命令進行清理然后重新執(zhí)行初始化。

14、安裝Pod網(wǎng)絡(luò)插件(CNI)

(1)直接獲取

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

(2)如果下不下來可以使用瀏覽器下載然后上傳到服務(wù)器中

kubectl apply -f kube-flannel.ym

(3)重新檢查Pod

kubectl get pod -n kube-system -o wide

可以看到,所有的系統(tǒng) Pod 都成功啟動了,而剛剛部署的flannel網(wǎng)絡(luò)插件則在 kube-system 下面新建了一個名叫kube-flannel-ds-amd64-lkf2f的 Pod,一般來說,這些 Pod 就是容器網(wǎng)絡(luò)插件在每個節(jié)點上的控制組件。 Kubernetes 支持容器網(wǎng)絡(luò)插件,使用的是一個名叫 CNI 的通用接口,它也是當(dāng)前容器網(wǎng)絡(luò)的事實標(biāo)準(zhǔn),市面上的所有容器網(wǎng)絡(luò)開源項目都可以通過 CNI 接入 Kubernetes,比如 Flannel、Calico、Canal、Romana 等等,它們的部署方式也都是類似的“一鍵部署”。

(4)重新檢查master節(jié)點狀態(tài)

kubectl get nodes

至此,Kubernetes 的 Master 節(jié)點就部署完成了。如果你只需要一個單節(jié)點的 Kubernetes,現(xiàn)在你就可以使用了。不過,在默認情況下,Kubernetes 的 Master 節(jié)點是不能運行用戶 Pod 的。

15、部署work節(jié)點

(1)加入Kubernetes Node(node節(jié)點)

向集群添加新節(jié)點,執(zhí)行在kubeadm init輸出的kubeadm join命令:

kubeadm join 192.168.100.30:6443 --token gz68wt.0utdk93fce1rqo79

--discovery-token-ca-cert-hash sha256:3d69ea8ab91d3bc728425645aa318ba86faf1f0d21186dedb5b4600a6963a22c

如果執(zhí)行kubeadm init時沒有記錄下加入集群的命令,可以通過以下命令重新創(chuàng)建

kubeadm token create --print-join-command

(2)使用 kubectl get nodes 命令檢查集群各節(jié)點狀態(tài)是否Ready

(3)等所有的節(jié)點都已經(jīng) Ready,Kubernetes Cluster 創(chuàng)建成功,一切準(zhǔn)備就緒。 如果pod狀態(tài)為Pending、ContainerCreating、ImagePullBackOff都表明 Pod 沒有就緒,Running 才是就緒狀態(tài)。 如果有pod提示Init:ImagePullBackOff,說明這個pod的鏡像在對應(yīng)節(jié)點上拉取失敗,我們可以通過 kubectl describe pod 查看 Pod 具體情況,以確認拉取失敗的鏡像:

(4)其他操作

docker images

查看節(jié)點下載了那些鏡像

16、測試kubernetes集群(master)

(1)首先驗證kube-apiserver, kube-controller-manager, kube-scheduler, pod network 是否正常:

部署一個 Nginx Deployment,包含2個Pod 參考: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

在Kubernetes集群中創(chuàng)建一個pod,驗證是否正常運行:

[root@master ~]# kubectl create deployment nginx --image=nginx:alpine

[root@master ~]# kubectl scale deployment nginx --replicas=2

# 驗證Nginx Pod是否正確運行,并且會分配10.244.開頭的集群IP

[root@master ~]# kubectl get pods -l app=nginx -o wide

# 再驗證一下kube-proxy是否正常:以 NodePort 方式對外提供服務(wù)

[root@master ~]# kubectl expose deployment nginx --port=80 --type=NodePort

[root@master ~]# kubectl get services nginx

# 可以通過任意 NodeIP:Port 在集群外部訪問這個服務(wù),都可以訪問到nginx的初始化頁面:

(2)最后驗證一下dns, pod network是否正常: 運行Busybox并進入交互模式

kubectl run -it curl --image=radial/busyboxplus:curl

# 輸入nslookup nginx查看是否可以正確解析出集群內(nèi)的IP,以驗證DNS是否正常

nslookup nginx

# 通過服務(wù)名進行訪問,驗證kube-proxy是否正常

curl http://nginx/


17、部署Dashboard

(1)準(zhǔn)備安裝kubernetes dashboard的yaml文件

https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

(2)默認Dashboard只能集群內(nèi)部訪問,修改Service為NodePort類型,并暴露端口到外部:


(3)創(chuàng)建service account并綁定默認cluster-admin管理員集群角色:

kubectl create serviceaccount dashboard-admin -n kube-system

kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')


此處的token,下文dashboard 登陸時需要使用,記得找地方記下來,實在忘了記錄,也有重新輸出的操作

(4)應(yīng)用配置文件啟動服務(wù)

拉取文件:

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

修改servcie部分

使用文件安裝:kubectl apply -f kubernetes-dashboard.yaml


驗證狀態(tài)

kubectl get pods -n kubernetes-dashboard

kubectl get svc -n kubernetes-dashboard


登陸網(wǎng)址:https://192.168.100.30:30443/

(5)解決Dashboard chrome無法訪問問題

(1)K8S Dashboard安裝好以后,通過Firefox瀏覽器是可以打開的,但通過Google Chrome瀏覽器,無法成功瀏覽頁面。如圖:

(2)解決方案

kubeadm自動生成的證書,很多瀏覽器不支持。所以我們需要自己創(chuàng)建證書。

(3)創(chuàng)建一個key的目錄,存放證書等文件

mkdir kubernetes-key

cd kubernetes-key

(4)生成證書請求的key

openssl genrsa -out dashboard.key 2048

(5)生成證書請求

openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=192.168.100.30'

(6)生成自簽證書

openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt

(7)刪除原有證書

kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard

(8)創(chuàng)建新證書的sercret

kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard

(9)查找正在運行的Pod

kubectl get pod -n kubernetes-dashboard

(10)刪除舊有的Pod

kubectl get pod -n kubernetes-dashboard

kubectl delete po kubernetes-dashboard-5996555fd8-jn9tr -n kubernetes-dashboard

kubectl delete po dashboard-metrics-scraper-76585494d8-h6nbw -n kubernetes-dashboard

(11)檢查狀態(tài)

kubectl get pod -n kubernetes-dashboard

(12)訪問網(wǎng)址

使用之前保存的Token訪問

上一篇:k8s 重裝

下一篇:K8s調(diào)度器Scheduler

精選推薦

  • 如何正確選擇白板供應(yīng)商
    如何正確選擇白板供應(yīng)商

    目前在無錫想采購一塊白板不管是實體店鋪,還是網(wǎng)絡(luò)平臺都有很多選擇,想要到專業(yè)的無錫白板公司采購還需要掌握一定的方式技巧。現(xiàn)

  • 柴油發(fā)電機組供應(yīng)商
    柴油發(fā)電機組供應(yīng)商

      t 揚州華東動力機械有限公司,位于江蘇省揚州市江都區(qū)仙城工業(yè)園,是專業(yè)從事發(fā)電機、柴油及燃氣發(fā)電機組研發(fā)、制造、銷售、服務(wù)于

  • 高溫輻射爐
    高溫輻射爐

    5.2.2高溫輻射爐5.2.2.1溫度控制★(1)樣品溫度范圍:常溫~1400℃。★(2)均溫區(qū):長度不小于80mm。★(3)中心區(qū):長度不小于10mm。(4)溫度梯度(均

  • 高壓鍋在什么情況下會爆炸?
    高壓鍋在什么情況下會爆炸?

    近日,多地發(fā)生高壓鍋爆炸事故,給不少家庭帶來了傷害和財產(chǎn)損失。那么,什么情況下會導(dǎo)致高壓鍋爆炸呢?首先,當(dāng)高壓鍋內(nèi)部壓力過高時,如果

0