在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Kubernetes(k8s)安裝以及搭建k8s-Dashboard詳解

    Kubernetes(k8s)安裝以及搭建k8s-Dashboard詳解

    一、前期準(zhǔn)備

    1)前提條件

    • 三臺(tái)兼容的 Linux 主機(jī)。Kubernetes 項(xiàng)目為基于 Debian 和 Red Hat 的 – – Linux 發(fā)行版以及一些不提供包管理器的發(fā)行版提供通用的指令
    • 每臺(tái)機(jī)器 2 GB 或更多的 RAM (如果少于這個(gè)數(shù)字將會(huì)影響你應(yīng)用的運(yùn)行內(nèi)存)
    • 2 CPU 核或更多
    • 集群中的所有機(jī)器的網(wǎng)絡(luò)彼此均能相互連接(公網(wǎng)和內(nèi)網(wǎng)都可以)
    • 節(jié)點(diǎn)之中不可以有重復(fù)的主機(jī)名、MAC 地址或 product_uuid。
    • 開(kāi)啟機(jī)器上的某些端口。
    • 禁用交換分區(qū)。為了保證 kubelet 正常工作,必須 禁用交換分區(qū)。

    2)機(jī)器信息

    機(jī)器類型

    操作系統(tǒng)

    網(wǎng)卡

    IP

    節(jié)點(diǎn)類型

    VMware虛擬機(jī)

    centos8

    ens33

    192.168.0.113

    k8s-master

    VMware虛擬機(jī)

    centos8

    ens33

    192.168.0.114

    k8s-node1

    VMware虛擬機(jī)

    centos8

    ens33

    192.168.0.115

    k8s-node2

    修改主機(jī)名

    # 在192.168.0.113執(zhí)行$ hostnamectl set-hostname k8s-master# 在192.168.0.114執(zhí)行$ hostnamectl set-hostname k8s-node1# 在192.168.0.115執(zhí)行$ hostnamectl set-hostname k8s-node2

    時(shí)間同步

    $ yum install chrony -y$ systemctl start chronyd$ systemctl enable chronyd$ chronyc sources

    3)確保每個(gè)節(jié)點(diǎn)上 MAC 地址和 product_uuid 的唯一性

    • 你可以使用命令 ip link來(lái)獲取網(wǎng)絡(luò)接口的 MAC 地址
    • 可以使用 sudo cat /sys/class/dmi/id/product_uuid 命令對(duì) product_uuid 校驗(yàn)

    一般來(lái)講,硬件設(shè)備會(huì)擁有唯一的地址,但是有些虛擬機(jī)的地址可能會(huì)重復(fù)。 Kubernetes 使用這些值來(lái)唯一確定集群中的節(jié)點(diǎn)。 如果這些值在每個(gè)節(jié)點(diǎn)上不唯一,可能會(huì)導(dǎo)致安裝 失敗。

    4)允許 iptables 檢查橋接流量(可選)

    • 確保 br_netfilter 模塊被加載。這一操作可以通過(guò)運(yùn)行 lsmod | grep br_netfilter 來(lái)完成。若要顯式加載該模塊,可執(zhí)行 sudo modprobe br_netfilter。
    • 為了讓你的 Linux 節(jié)點(diǎn)上的 iptables 能夠正確地查看橋接流量,你需要確保在你的 sysctl 配置中將 net.bridge.bridge-nf-call-iptables 設(shè)置為 1。所有節(jié)點(diǎn)都執(zhí)行以下命令:

    $ cat <<EOF | sudo tee /etc/modules-load.d/k8s.confbr_netfilterEOF$ cat <<EOF | sudo tee /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOF# 手動(dòng)加載所有的配置文件$ sudo sysctl –system

    5)檢查所需端口

    =》master節(jié)點(diǎn)

    協(xié)議

    方向

    端口范圍

    作用

    使用者

    TCP

    入站

    6443

    Kubernetes API 服務(wù)器

    所有組件

    TCP

    入站

    2379-2380

    etcd

    服務(wù)器客戶端 API

    TCP

    入站

    10250

    Kubelet API

    kubelet 自身、控制平面組件

    TCP

    入站

    10251

    kube-scheduler

    kube-scheduler 自身

    TCP

    入站

    10252

    kube-controller-manager

    kube-controller-manager 自身

    =》node(work)節(jié)點(diǎn)

    協(xié)議

    方向

    端口范圍

    作用

    使用者

    TCP

    入站

    10250

    Kubelet API

    kubelet 自身、控制平面組件

    TCP

    入站

    30000-32767

    NodePort 服務(wù)

    所有組件

    NodePort 服務(wù) 的默認(rèn)端口范圍。

    二、安裝 runtime

    為了在 Pod 中運(yùn)行容器,Kubernetes 使用 容器運(yùn)行時(shí)(Container Runtime)。

    默認(rèn)情況下,Kubernetes 使用 容器運(yùn)行時(shí)接口(Container Runtime Interface,CRI) 來(lái)與你所選擇的容器運(yùn)行時(shí)交互。

    如果你不指定運(yùn)行時(shí),則 kubeadm 會(huì)自動(dòng)嘗試檢測(cè)到系統(tǒng)上已經(jīng)安裝的運(yùn)行時(shí), 方法是掃描一組眾所周知的 Unix 域套接字。 下面的表格列舉了一些容器運(yùn)行時(shí)及其對(duì)應(yīng)的套接字路徑:

    運(yùn)行時(shí)

    域套接字

    Docker

    /var/run/dockershim.sock

    containerd

    /run/containerd/containerd.sock

    CRI-O

    /var/run/crio/crio.sock

    如果同時(shí)檢測(cè)到 Docker 和 containerd,則優(yōu)先選擇 Docker。 這是必然的,因?yàn)?Docker 18.09 附帶了 containerd 并且兩者都是可以檢測(cè)到的, 即使你僅安裝了 Docker。 如果檢測(cè)到其他兩個(gè)或多個(gè)運(yùn)行時(shí),kubeadm 輸出錯(cuò)誤信息并退出。kubelet 通過(guò)內(nèi)置的 dockershim CRI 實(shí)現(xiàn)與 Docker 集成。

    裝完docker后會(huì)僅有containerd

    containerd簡(jiǎn)介

    containerd是一個(gè)工業(yè)級(jí)標(biāo)準(zhǔn)的容器運(yùn)行時(shí),它強(qiáng)調(diào)簡(jiǎn)單性、健壯性和可移植性。containerd可以在宿主機(jī)中管理完整的容器生命周期,包括容器鏡像的傳輸和存儲(chǔ)、容器的執(zhí)行和管理、存儲(chǔ)和網(wǎng)絡(luò)等。

    Docker vs containerd

    containerd是從Docker中分離出來(lái)的一個(gè)項(xiàng)目,可以作為一個(gè)底層容器運(yùn)行時(shí),現(xiàn)在它成了Kubernete容器運(yùn)行時(shí)更好的選擇。

    K8S為什么要放棄使用Docker作為容器運(yùn)行時(shí),而使用containerd呢?

    如果你使用Docker作為K8S容器運(yùn)行時(shí)的話,kubelet需要先要通過(guò) dockershim 去調(diào)用Docker,再通過(guò)Docker去調(diào)用containerd。

    如果你使用containerd作為K8S容器運(yùn)行時(shí)的話,由于containerd內(nèi)置了 CRI (Container Runtime Interface:容器運(yùn)行時(shí)接口)插件,kubelet可以直接調(diào)用containerd。

    所有機(jī)器安裝docker步驟如下

    # 安裝yum-config-manager配置工具$ yum -y install yum-utils# 設(shè)置yum源$ yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安裝docker-ce版本$ sudo yum install -y docker-ce# 啟動(dòng)$ sudo systemctl start docker# 開(kāi)機(jī)自啟$ sudo systemctl enable docker# 查看版本號(hào)$ sudo docker –version# 查看版本具體信息$ sudo docker version# Docker鏡像源設(shè)置# 修改文件 /etc/docker/daemon.json,沒(méi)有這個(gè)文件就創(chuàng)建# 添加以下內(nèi)容后,重啟docker服務(wù):{ “registry-mirrors”: [“http://hub-mirror.c.163.com”]}$ sudo systemctl restart docker

    三、安裝 kubeadm、kubelet 和 kubectl

    你需要在所有機(jī)器上安裝以下的軟件包:

    • kubeadm:用來(lái)初始化集群的指令。
    • kubelet:在集群中的每個(gè)節(jié)點(diǎn)上用來(lái)啟動(dòng) Pod 和容器等。
    • kubectl:用來(lái)與集群通信的命令行工具。

    kubeadm 不能 幫你安裝或者管理 kubelet 或 kubectl,所以你需要 確保它們與通過(guò) kubeadm 安裝的控制平面的版本相匹配。 如果不這樣做,則存在發(fā)生版本偏差的風(fēng)險(xiǎn),可能會(huì)導(dǎo)致一些預(yù)料之外的錯(cuò)誤和問(wèn)題。

    1)配置hosts

    $ echo “192.168.0.113 k8s-master” >> /etc/hosts$ echo “192.168.0.114 k8s-node1” >> /etc/hosts$ echo “192.168.0.115 k8s-node2” >> /etc/hosts# 查看$ cat /etc/hosts

    2)關(guān)閉防火墻

    $ systemctl stop firewalld$ systemctl disable firewalld

    3)關(guān)閉swap

    kubelet 在 1.8 版本以后強(qiáng)制要求 swap 必須關(guān)閉。要不然kubelet 無(wú)法正常啟動(dòng)

    # 臨時(shí)關(guān)閉;關(guān)閉swap主要是為了性能考慮$ swapoff -a# 可以通過(guò)這個(gè)命令查看swap是否關(guān)閉了$ free# 永久關(guān)閉 $ sed -ri ‘s/.*swap.*/#&/’ /etc/fstab

    4)將 SELinux 設(shè)置為 disabled模式(相當(dāng)于將其禁用)

    # 臨時(shí)關(guān)閉$ sudo setenforce 0 # 永久禁用$ sudo sed -i ‘s/^SELINUX=enforcing$/SELINUX=disabled/’ /etc/selinux/config

    5)配置yum源,這里配置阿里云的源

    $ cat > /etc/yum.repos.d/kubernetes.repo << EOF[k8s]name=k8senabled=1gpgcheck=0baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/EOF

    6)開(kāi)始安裝kubeadm,kubelet和kubectl

    $ sudo yum install -y kubelet kubeadm kubectl –disableexcludes=kubernetes# disableexcludes=kubernetes:禁掉除了這個(gè)kubernetes之外的別的倉(cāng)庫(kù)# 設(shè)置為開(kāi)機(jī)自啟并現(xiàn)在立刻啟動(dòng)服務(wù) –now:立刻啟動(dòng)服務(wù)$ sudo systemctl enable –now kubelet# 查看狀態(tài)$ systemctl status kubelet

    查看狀態(tài)會(huì)發(fā)現(xiàn)

    重新安裝(或第一次安裝)k8s,未經(jīng)過(guò)kubeadm init 或者 kubeadm join后,kubelet會(huì)不斷重啟,這個(gè)是正?,F(xiàn)象……,執(zhí)行init或join后問(wèn)題會(huì)自動(dòng)解決,對(duì)此官網(wǎng)有如下描述,也就是此時(shí)不用理會(huì)kubelet.service。

    先查看k8s版本

    $ kubectl version$ yum info kubeadm

    7)使用 kubeadm 創(chuàng)建集群(master節(jié)點(diǎn))

    初始化,–kubernetes-version版本就是上面查詢出來(lái)的,可以不寫(xiě),默認(rèn)會(huì)自動(dòng)獲取版本,–image-repository:默認(rèn)是官網(wǎng)k8s.gcr.io,但是很慢,這里換成了阿里云的;–apiserver-advertise-address=192.168.0.113:這里的ip為master節(jié)點(diǎn)ip,記得更換。

    $ kubeadm init –apiserver-advertise-address=192.168.0.113 –image-repository registry.aliyuncs.com/google_containers –kubernetes-version v1.22.1 –service-cidr=10.1.0.0/16 –pod-network-cidr=10.244.0.0/16# –image-repository string: 這個(gè)用于指定從什么位置來(lái)拉取鏡像(1.13版本才有的),默認(rèn)值是k8s.gcr.io,我們將其指定為國(guó)內(nèi)鏡像地址:registry.aliyuncs.com/google_containers# –kubernetes-version string: 指定kubenets版本號(hào),默認(rèn)值是stable-1,會(huì)導(dǎo)致從https://dl.k8s.io/release/stable-1.txt下載最新的版本號(hào),我們可以將其指定為固定版本(v1.22.1)來(lái)跳過(guò)網(wǎng)絡(luò)請(qǐng)求。# –apiserver-advertise-address 指明用 Master 的哪個(gè) interface 與 Cluster 的其他節(jié)點(diǎn)通信。如果 Master 有多個(gè) interface,建議明確指定,如果不指定,kubeadm 會(huì)自動(dòng)選擇有默認(rèn)網(wǎng)關(guān)的 interface。# –pod-network-cidr 指定 Pod 網(wǎng)絡(luò)的范圍。Kubernetes 支持多種網(wǎng)絡(luò)方案,而且不同網(wǎng)絡(luò)方案對(duì) –pod-network-cidr有自己的要求,這里設(shè)置為10.244.0.0/16 是因?yàn)槲覀儗⑹褂?flannel 網(wǎng)絡(luò)方案,必須設(shè)置成這個(gè) CIDR。

    但是會(huì)報(bào)如下錯(cuò)誤:registry.aliyuncs.com/google_containers/coredns:v1.8.4 not found

    【解決】由于安裝的是Kubernetes v1.22.1版本,在初始化的時(shí)候報(bào)錯(cuò)信息中提示需要registry.aliyuncs.com/google_containers/coredns:v1.8.4版本的coredns鏡像,手動(dòng)拉取registry.aliyuncs.com/google_containers/coredns:v1.8.4版本的鏡像時(shí)發(fā)現(xiàn)沒(méi)有,所以就只能拉取一個(gè)默認(rèn)版本的阿里云coredns鏡像,拉取下來(lái)之后自己再手動(dòng)修改一下鏡像的tag信息為v1.8.4版本。

    # 手動(dòng)拉取默認(rèn)版本的coredns鏡像$ docker pull registry.aliyuncs.com/google_containers/coredns

    查看拉取下來(lái)的coredns鏡像

    $ docker images

    將拉取的默認(rèn)版本的coredns鏡像tag信息修改為v1.8.4版本

    $ docker tag registry.aliyuncs.com/google_containers/coredns:latest registry.aliyuncs.com/google_containers/coredns:v1.8.4 $ docker images

    再執(zhí)行上面初始化命令

    $ kubeadm init –apiserver-advertise-address=192.168.0.113 –image-repository registry.aliyuncs.com/google_containers –kubernetes-version v1.22.1 –service-cidr=10.1.0.0/16 –pod-network-cidr=10.244.0.0/16

    報(bào)錯(cuò)如下:

    $ tail /var/log/messages

    上述日志表明:kubelet的cgroup driver是cgroupfs,docker的 cgroup driver是systemd,兩者cgroup driver不一致導(dǎo)致kubelet啟動(dòng)失敗。

    【解決】

  • 修改kubelet的Cgroup Driver(這里不修改kubelet的)修改/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf文件,增加–cgroup-driver=cgroupfs
  • 重啟kubelet

    $ systemctl daemon-reload$ systemctl restart kubelet

    這里不真正用這個(gè)方式,而是修改docker的cgroup driver2. 修改docker的cgroup driver(修改docker的,也就是這個(gè)方式),修改或創(chuàng)建/etc/docker/daemon.json,加入下述內(nèi)容:

    { “exec-opts”: [“native.cgroupdriver=systemd”]}

    重啟docker

    $ cat /etc/docker/daemon.json$ systemctl daemon-reload$ systemctl restart docker# 查看docker的cgroup driver$ docker info | grep Cgroup

    先重置

    # 重置$ kubeadm reset# 重啟$ systemctl restart kubelet

    重新初始化

    $ kubeadm init –apiserver-advertise-address=192.168.0.113 –image-repository registry.aliyuncs.com/google_containers –kubernetes-version v1.22.1 –service-cidr=10.1.0.0/16 –pod-network-cidr=10.244.0.0/16

    根據(jù)上圖提示,要使非 root 用戶可以運(yùn)行 kubectl,請(qǐng)運(yùn)行以下命令, 它們也是 kubeadm init 輸出的一部分:

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

    或者,如果你是 root 用戶,則可以運(yùn)行,這里我使用root用戶,但是生產(chǎn)環(huán)境一般不會(huì)用root用戶的:

    # 臨時(shí)生效(退出當(dāng)前窗口重連環(huán)境變量失效)$ export KUBECONFIG=/etc/kubernetes/admin.conf# 永久生效(推薦)$ echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile$ source ~/.bash_profile

    如果不加入環(huán)境變量,會(huì)出現(xiàn)如下報(bào)錯(cuò):

    8)安裝Pod網(wǎng)絡(luò)插件(CNI:Container Network Interface)(master)

    你必須部署一個(gè)基于 Pod 網(wǎng)絡(luò)插件的 容器網(wǎng)絡(luò)接口 (CNI),以便你的 Pod 可以相互通信。

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

    如果上面安裝失敗,則下載我百度里的,離線安裝

    鏈接:https://pan.baidu.com/s/1HB9xuO3bssAW7v5HzpXkeQ提取碼:8888

    $ kubectl apply -f kube-flannel.yml$ docker images

    查看集群信息

    $ kubectl get nodes

    9)Node節(jié)點(diǎn)加入集群

    如果沒(méi)有令牌,可以通過(guò)在控制平面節(jié)點(diǎn)上運(yùn)行以下命令來(lái)獲取令牌:

    $ kubeadm token list

    默認(rèn)情況下,令牌會(huì)在24小時(shí)后過(guò)期。如果要在當(dāng)前令牌過(guò)期后將節(jié)點(diǎn)加入集群, 則可以通過(guò)在控制平面節(jié)點(diǎn)上運(yùn)行以下命令來(lái)創(chuàng)建新令牌:

    $ kubeadm token create# 再查看$ kubeadm token list

    如果你沒(méi)有 –discovery-token-ca-cert-hash 的值,則可以通過(guò)在控制平面節(jié)點(diǎn)上執(zhí)行以下命令鏈來(lái)獲取它:

    $ openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’

    如果執(zhí)行kubeadm init時(shí)沒(méi)有記錄下加入集群的命令,可以通過(guò)以下命令重新創(chuàng)建(推薦)一般不用上面的分別獲取token和ca-cert-hash方式,執(zhí)行以下命令一氣呵成:

    $ kubeadm token create –print-join-command


    以下命令在node節(jié)點(diǎn)執(zhí)行**

    # 查看集群信息$ kubectl get nodes

    【問(wèn)題】這里可能會(huì)報(bào)錯(cuò) localhost:10248拒絕訪問(wèn),這個(gè)無(wú)解,重裝系統(tǒng)解決

    【解決】重置節(jié)點(diǎn)信息

    $ kubeadm reset

    需要將master節(jié)點(diǎn)的 /etc/kubernetes/admin.conf復(fù)制到node節(jié)點(diǎn)的相同位置

    $ scp /etc/kubernetes/admin.conf 192.168.0.114:/etc/kubernetes/$ scp /etc/kubernetes/admin.conf 192.168.0.115:/etc/kubernetes/

    執(zhí)行下面的代碼加入環(huán)境變量

    $ echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile$ source ~/.bash_profile

    修改docker的cgroup driver,修改或創(chuàng)建/etc/docker/daemon.json,加入下述內(nèi)容:

    { “exec-opts”: [“native.cgroupdriver=systemd”]}

    重新加載

    $ systemctl daemon-reload$ systemctl restart docker$ docker info | grep Cgroup$ kubectl get nodes

    安裝flannel網(wǎng)絡(luò)插件,采用離線安裝,kube-flanel.yml文件上面有

    $ kubectl apply -f kube-flannel.yml

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

    $ kubeadm token create –print-join-command# –v=5:顯示詳細(xì)信息$ kubeadm join 192.168.0.113:6443 –token cgmxso.bfgou00m72tnbpz4 –discovery-token-ca-cert-hash sha256:b4792b0f3b54c8b8b71a4a484129b4e2acfe5014c37b1b18dbebbc0c8f69fc15 –v=5

    另一個(gè)node節(jié)點(diǎn)同上操作

    【問(wèn)題】STATUS一直為NotReady首先使用如下命令來(lái)看一下kube-system的 pod 狀態(tài):

    $ kubectl get pod -n kube-system$ kubectl get pod -n kube-system -o wide

    如上,可以看到 pod kube-flannel 的狀態(tài)是ImagePullBackoff,意思是鏡像拉取失敗了,所以我們需要手動(dòng)去拉取這個(gè)鏡像。這里可以看到某些 pod 運(yùn)行了兩個(gè)副本是因?yàn)槲矣袃蓚€(gè)節(jié)點(diǎn)存在了。

    也可以通過(guò)kubectl describe pod -n kube-system 來(lái)查看某個(gè)服務(wù)的詳細(xì)情況,如果 pod 存在問(wèn)題的話,你在使用該命令后在輸出內(nèi)容的最下面看到一個(gè)[Event]條目,如下:

    $ kubectl describe pod kube-flannel-ds-4j2mp -n kube-system

    【解決】手動(dòng)拉取鏡像

    $ docker pull quay.io/coreos/flannel:v0.14.0

    修改完了之后過(guò)幾分鐘 k8s 會(huì)自動(dòng)重試,等一下就可以發(fā)現(xiàn)不僅flannel正常了,其他的 pod 狀態(tài)也都變成了Running,這時(shí)再看 node 狀態(tài)就可以發(fā)現(xiàn)問(wèn)題解決了:

    四、清理

    如果你在集群中使用了一次性服務(wù)器進(jìn)行測(cè)試,則可以關(guān)閉這些服務(wù)器,而無(wú)需進(jìn)一步清理。你可以使用 kubectl config delete-cluster 刪除對(duì)集群的本地引用。

    1)先將節(jié)點(diǎn)設(shè)置為維護(hù)模式(k8s-node1是節(jié)點(diǎn)名稱)

    $ kubectl drain k8s-node1 –delete-local-data –force –ignore-daemonsets

    2)在刪除節(jié)點(diǎn)之前,請(qǐng)重置 kubeadm 安裝的狀態(tài):

    $ kubeadm reset

    3)重置過(guò)程不會(huì)重置或清除 iptables 規(guī)則或 IPVS 表。如果你希望重置 iptables,則必須手動(dòng)進(jìn)行:

    $ iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

    4)如果要重置 IPVS 表,則必須運(yùn)行以下命令:

    $ ipvsadm -C

    5)現(xiàn)在刪除節(jié)點(diǎn):

    $ kubectl delete node k8s-node1

    五、搭建K8S Dashboard

    1)下載dashboard文件:

    $ curl -o kubernetes-dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml

    如果地址不可用可以使用下面的地址下載

    鏈接:https://pan.baidu.com/s/1-tEablkFTrMC-N9-8T7rrA提取碼:8888

    安裝

    $ kubectl apply -f kubernetes-dashboard.yaml

    驗(yàn)證,查看服務(wù)被分配到哪個(gè)節(jié)點(diǎn)上:$ kubectl get pods -n kube-system -o wide

    $ kubectl get pods -n kube-system -o wide

    從上圖可知,服務(wù)被分配到了k8s-node1,對(duì)外端口為nodePort:31080,配置文件里的。谷歌瀏覽器訪問(wèn)不了,原因是部署UI的鏡像中默認(rèn)自帶的證書(shū)是一個(gè)不可信任的證書(shū),則先用火狐訪問(wèn):https://nodeIp:nodePort

    https://192.168.0.114:31080

    獲取token測(cè)試

    $ kubectl get secret -n kube-system|grep kubernetes-dashboard-token# 根據(jù)自己情況輸入命令$ kubectl describe secret kubernetes-dashboard-token-m7b7b -n kube-system

    解決谷歌瀏覽器不能訪問(wèn)的問(wèn)題,通過(guò)生成新的證書(shū)永久解決

    # 創(chuàng)建一個(gè)用于自簽證書(shū)的目錄$ mkdir kubernetes-dashboard-key && cd kubernetes-dashboard-key # 生成證書(shū)請(qǐng)求的key$ openssl genrsa -out dashboard.key 2048 # 192.168.0.113為master節(jié)點(diǎn)的IP地址$ openssl req -new -out dashboard.csr -key dashboard.key -subj ‘/CN=192.168.0.113’ # 生成自簽證書(shū)$ openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt# 刪除原有證書(shū)$ kubectl delete secret kubernetes-dashboard-certs -n kube-system# 創(chuàng)建新證書(shū)的secret$ kubectl create secret generic kubernetes-dashboard-certs –from-file=dashboard.key –from-file=dashboard.crt -n kube-system# 查找正在運(yùn)行的pod$ kubectl get pod -n kube-system# 刪除pod,讓k8s自動(dòng)拉起一個(gè)新的pod,相對(duì)于重啟kubectl delete pod kubernetes-dashboard-7d6c598b5f-fvcg8 -n kube-system

    服務(wù)調(diào)度到k8s-node2節(jié)點(diǎn)上了,訪問(wèn)

    https://192.168.0.115:31080

    現(xiàn)在Google瀏覽器也可以訪問(wèn)了再獲取token登錄

    $ kubectl get secret -n kube-system|grep kubernetes-dashboard-token# 根據(jù)自己情況輸入命令$ kubectl describe secret kubernetes-dashboard-token-m7b7b -n kube-system

    以上就是完整版K8s和K8s Dashboard的安裝過(guò)程了~

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月13日 06:17
    下一篇 2022年6月13日 06:17

    相關(guān)推薦

    • cad連續(xù)標(biāo)注快捷鍵(cad連續(xù)標(biāo)注快捷鍵)

      本文主要講的是cad連續(xù)標(biāo)注快捷鍵,以及和cad連續(xù)標(biāo)注快捷鍵相關(guān)的知識(shí),如果覺(jué)得本文對(duì)您有所幫助,不要忘了將本文分享給朋友。 cad中連續(xù)標(biāo)注快捷鍵 CAD尺寸標(biāo)準(zhǔn)快捷命令:DL…

      2022年11月27日
    • TES官宣knight斷開(kāi)連接!網(wǎng)友:左手就是下一個(gè)369

      2022LPL冬季轉(zhuǎn)會(huì)期已經(jīng)正式到來(lái),如果說(shuō)此次轉(zhuǎn)會(huì)期熱度最高的一支隊(duì)伍,無(wú)疑就是在2022全球總決賽中拿到四強(qiáng)成績(jī)的JDG了。因?yàn)閾?jù)目前網(wǎng)上爆料人的消息來(lái)看,JDG很有可能會(huì)通過(guò)…

      2022年11月27日
    • 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文(計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文七千字)

      今天小編給各位分享計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文的知識(shí),其中也會(huì)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文七千字進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! 計(jì)算機(jī)網(wǎng)絡(luò)方面的論文3000字…

      2022年11月26日
    • 手機(jī)上怎么買世界杯彩票(手機(jī)上怎么買世界杯輸贏)

      現(xiàn)在手機(jī)已經(jīng)成為大家生活中非常重要的工具之一,只要一部手機(jī)就可以解決衣食住行,最近世界杯火熱進(jìn)行,一些小伙伴想要買彩票,那么,手機(jī)上可以買世界杯彩票嗎?世界杯買球軟件是真的嗎?手機(jī)…

      2022年11月25日
    • iPhoneSE4價(jià)格或在3000以內(nèi) 蘋(píng)果se4最新消息

      據(jù)相關(guān)爆料,明年即將在春季發(fā)布的iPhoneSE4系列,售價(jià)可能會(huì)在3000元以內(nèi),可能會(huì)使用iPhone SE4與紅米K系列直接競(jìng)爭(zhēng),打算正式進(jìn)入2000元價(jià)位市場(chǎng)??梢钥闯?,如…

      2022年11月24日
    • 成都健康碼崩了是怎么回事(成都健康碼系統(tǒng)崩了)

      健康碼是大家出行必備的工具,有小伙伴反映自己健康碼崩了,上不了地鐵,那么成都健康碼崩了是怎么回事?成都健康碼怎么突然崩了?成都健康碼崩了是怎么辦?下面小編為大家?guī)?lái)成都健康碼崩了原…

      2022年11月24日
    • rnm退錢(qián)是什么意思網(wǎng)絡(luò)用語(yǔ)(rnm退錢(qián)是什么人)

      最近關(guān)于網(wǎng)絡(luò)用語(yǔ)使用還是有不少咨詢的,隨著卡塔爾世界杯的開(kāi)啟,網(wǎng)上也出現(xiàn)了不少新的網(wǎng)絡(luò)流行用語(yǔ),其中rnm退錢(qián)的梗也引發(fā)不少網(wǎng)友的好奇。rnm退錢(qián)是什么意思?很多網(wǎng)友對(duì)此好奇,rn…

      2022年11月24日
    • 關(guān)公繞后什么意思網(wǎng)絡(luò)用語(yǔ)(睜眼關(guān)公什么意思)

      關(guān)于一些網(wǎng)絡(luò)用語(yǔ)使用大家也都是比較關(guān)注的,最近關(guān)于關(guān)公繞后這個(gè)梗也是挺火的,不過(guò)還是有很多網(wǎng)友對(duì)關(guān)公繞后這個(gè)梗的含義不是很了解,關(guān)公繞后什么意思?這個(gè)梗說(shuō)的是什么呢?下面來(lái)看下網(wǎng)絡(luò)…

      2022年11月24日
    • 媽寶是什么意思網(wǎng)絡(luò)用語(yǔ)(媽寶男是什么意思)

      近期有關(guān)一些網(wǎng)絡(luò)用語(yǔ)使用也有不少人咨詢,其中媽寶這個(gè)詞在網(wǎng)上熱度也是挺高的。媽寶是什么意思?部分網(wǎng)友可能對(duì)媽寶這個(gè)詞的含義不是很了解,據(jù)悉在網(wǎng)絡(luò)上面有媒體人評(píng)論大s的時(shí)候使用到了媽…

      2022年11月23日
    • 廣州花都嶺南批發(fā)地女裝在哪拿貨好(廣州花都嶺南批發(fā)地女裝)

      廣州的服裝批發(fā)市場(chǎng)人氣一直也都挺高的,不過(guò)很多商家第一次來(lái)廣州進(jìn)貨,對(duì)于一些女裝貨源批發(fā)還不是很了解。廣州花都嶺南批發(fā)地女裝在哪拿貨好?現(xiàn)在廣州服裝貨源批發(fā)哪里最便宜呢?今天小編整…

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息