你自己做的網(wǎng)站怎么發(fā)布到網(wǎng)上2345網(wǎng)止導航
目錄💻
- 一、前言
- 二、下載依賴配置環(huán)境
- 1、配置系統(tǒng)環(huán)境
- 1.1、配置橋接網(wǎng)絡
- 1.1.1、parallels desktop配置
- 1.1.2、VMware配置
- 1.2、配置root用戶登陸
- 2、環(huán)境配置安裝下載
- 2.1、安裝ipset和ipvsadm
- 2.2、關(guān)閉SWAP分區(qū)
- 3、配置Containerd容器
- 3.1、下載安裝Containerd
- 3.2、創(chuàng)建&修改配置文件
- 3.3、啟動Containerd&開機自啟
- 4、添加K8S集群組件
- 4.1、修改下載源
- 4.2、安裝組件
- 5、克隆服務器
- 5.1、通過parallels desktop克隆
- 5.2、通過VMware克隆
- 6、主機配置
- 6.1、設(shè)置靜態(tài)ip
- 6.2、修改主機名
- 6.3、主機名解析ip
- 6.4、時間同步
- 6.5、配置內(nèi)核轉(zhuǎn)發(fā)、網(wǎng)橋過濾配置
- 三、部署集群
- 1、配置部署k8s集群
- 1.1、集群初始化
- 1.2、準備kubectl配置文件
- 1.2、添加從節(jié)點
- 2、安裝k8s網(wǎng)絡插件Calico
- 2.1、執(zhí)行安裝tigera-operator
- 2.2、配置custom-resources
- 2.3、錯誤解達。
- 四、測試使用
- 1、安裝可視化Web工具:Kuboard v3
- 1.1、使用kubectl安裝(master01節(jié)點執(zhí)行)
- 1.1.2、常見錯誤
- 1.2、web配置
- 2、部署Nginx服務
- 2.1、使用Kuboard部署
- 2.2、使用yaml方式創(chuàng)建
一、前言
因為我只有一臺服務器,我使用的是,所有我采用的是通過安裝虛擬機的方式實現(xiàn)集群搭建,先把需要的配置環(huán)境拉取下來,然后再通過虛擬機的克隆的方式直接把配置克隆到新的服務器上,減少重復下載。
通過在ubuntu服務器上安裝VMware和在MAC上安裝parallels desktop都有部署成功,安裝虛擬機的實體機配置內(nèi)存需要夠,并且需要可以連接🛜,因為需要下載一些配置依賴,因為是安裝k8s集群需要安裝三臺ubuntu容器。當然如果是有多臺服務器的話直接把安裝命令都執(zhí)行一遍就行
下面是我使用的配置:
信息 | 配置 |
---|---|
節(jié)點主機 | Ubuntu20.4 / 22.4 |
K8S版本 | 1.28.1 |
配置 | 三臺集群(內(nèi)存:2G、磁盤:30G) |
SSH連接工具 | WindTerm / Tabby |
宿主機 | Ubuntu24.4 / M2 |
虛擬機工具 | VMWaer / parallels desktop |
ubuntu鏡像(注意看后綴arm是 蘋果的Apple M,Intel 的用amd): https://pan.baidu.com/s/16f1lzIqFOHlsyfzVV3lv9A?pwd=5p8a 提取碼: 5p8a
WindTerm(ssh連接工具下載地址):https://github.com/kingToolbox/WindTerm/releases
二、下載依賴配置環(huán)境
1、配置系統(tǒng)環(huán)境
1.1、配置橋接網(wǎng)絡
因為我們實際開發(fā)中肯定是把k8s部署在服務器上的嘛,所以需要把虛擬機內(nèi)服務器的網(wǎng)絡改為同物理機在同一網(wǎng)段的。所以需要在 “橋接網(wǎng)絡”選項下的列表中選擇虛擬機將要橋接的物理適配器。否則同一局域網(wǎng)的其他物理機都沒法范圍到這些虛擬機的ip
1.1.1、parallels desktop配置
- 右擊對應的虛擬機,點擊配置,選擇硬件中的網(wǎng)絡,修改源為橋接網(wǎng)絡中的默認適配器,如果有多個網(wǎng)絡,則直接選擇你想要用于外部連接的那個網(wǎng)絡就行
- 通過ifconfig命令查看ip是否改為了外表局域網(wǎng)同一網(wǎng)段了
1.1.2、VMware配置
-
先點擊網(wǎng)絡適配器
-
選擇第一個,然后保存退出
-
再右擊每個主機服務器,點擊設(shè)置(Settings)
-
選擇網(wǎng)絡,選擇橋接網(wǎng)絡,點擊確認保存,然后就可以到對應的主機查看IP了
1.2、配置root用戶登陸
在創(chuàng)建虛擬機的時候需要先添加ssh連接,但我們創(chuàng)建后,是不能直接用root用戶直接登陸的,雖然可以通過sudo su
轉(zhuǎn)為root,但每次都要轉(zhuǎn),也麻煩,可以通過修改配置,讓直接通過root用戶進行ssh登陸。
-
首先通過ssh工具連接上虛擬機,賬號密碼就是我們創(chuàng)建的時候設(shè)置的那個賬號,然后通過
sudo su
切換為root管理員用戶
-
修改/etc/ssh/sshd_config文件配置
修改下面ssh的配置文件的,34行左右的位置(右下角可以看行數(shù)),把標注的三行的注釋打開,并且把第34行改為 yesvim /etc/ssh/sshd_config
·
-
重制root用戶的密碼
把root用戶的密碼改為自己需要的sudo passwd root
-
重啟ssh服務
service ssh restart
-
其他
如果是沒有安裝ssh命令,可以通過#更新軟件包 sudo apt update #安裝ssh sudo apt install openssh-server #安裝ifconfig命令包(剛創(chuàng)建的虛擬機可能會沒有) sudo apt install net-tools
2、環(huán)境配置安裝下載
下面的步驟,如果是使用的下面的WindTerm的截圖代表是集群的每個容器都需要執(zhí)行的,如果是使用的上面的tabby的截圖代表是只有master節(jié)點需要執(zhí)行就行。
因為他們的配置一樣,我免得都下載一遍,所以我直接一個下載好,然后通過克隆的方式直接克隆到其他的節(jié)點去,這樣也避免出現(xiàn)一些不一樣的東西
2.1、安裝ipset和ipvsadm
它們在 Kubernetes (k8s) 中用于網(wǎng)絡管理和負載均衡。
-
首先執(zhí)行安裝
apt-get install ipset ipvsadm
執(zhí)行的時候需要你輸入
y
確認,確認就行
-
然后執(zhí)行配置 ipvsadm 模塊,用于開機自啟動的,可以使用
vi /etc/modules-load.d/ipvs.conf
查看是否配置成功cat << EOF | tee /etc/modules-load.d/ipvs.conf ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack EOF
-
因為本次也需要啟動,所以需要在配置一個腳本用于本次啟動的
配置腳本文件cat << EOF | tee ipvs.sh #!/bin/sh modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack EOF
執(zhí)行剛剛創(chuàng)建的腳本
sh ipvs.sh
-
通過下面的命令查看是否配置成功
lsmod | grep ip_vs
如下圖,就表示加載成功了
2.2、關(guān)閉SWAP分區(qū)
直接通過修改/etc/fstab
文件,永久關(guān)閉SWAP分區(qū),避免重啟時打開
-
永久關(guān)閉
vim /etc/fstab
打開后,把最后一行
/swap.img
開頭的注釋調(diào)就行
修改swap需要重啟才能使得配置文件生效,因為現(xiàn)在就需要用,可以直接重啟,也可以先臨時關(guān)閉掉 -
臨時關(guān)閉
swapoff -a
-
查看是否關(guān)閉成功
free -m
變0了表示關(guān)閉了
3、配置Containerd容器
Containerd 在 Kubernetes 中扮演了容器運行時的角色,負責創(chuàng)建、管理和運行容器,提供了一個標準的容器運行時環(huán)境和安全特性。
3.1、下載安裝Containerd
-
下載Containerd,因為是在github上所以如果沒有外網(wǎng)可能會下載不成功,我上面的百度網(wǎng)盤有放下載好的(注意看后綴arm是 蘋果的Apple M,Intel 的用amd),直接導入到服務器里面去就行,如果自己下載也是,別下載錯了
wget https://github.com/containerd/containerd/releases/download/v1.7.5/cri-containerd-1.7.5-linux-amd64.tar.gz
-
安裝 Containerd
解壓后會自動安裝到指定位置去#解壓文件 tar xf cri-containerd-1.7.5-linux-amd64.tar.gz -C / #查看安裝 containerd --version
3.2、創(chuàng)建&修改配置文件
-
創(chuàng)建配置文件
#創(chuàng)建配置文件目錄 mkdir /etc/containerd #生成默認的配置文件 containerd config default > /etc/containerd/config.toml #查看是否生成成功 ls /etc/containerd
-
修改配置文件
vim /etc/containerd/config.toml
-
修改第65行sanbox_image的值改為
registry.aliyuncs.com/google_containers/pause:3.9
,改為阿里的鏡像地址和版本號。(鏡像地址也可以不修改,只需要修改版本號也行,需要和后面–>8.1、集群初始化介紹的kubeadm-config.yaml
文件的一致就行)
-
需要137行的
false
改為true
修改好后保存退出
3.3、啟動Containerd&開機自啟
-
執(zhí)行開機啟動,并且現(xiàn)在就啟動
systemctl enable --now containerd
-
驗證是否啟動成功
systemctl status containerd
4、添加K8S集群組件
4.1、修改下載源
-
添加阿里的軟件源
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
-
驗證是否添加成功
ls /etc/apt/sources.list.d
-
更新軟件源
apt-get update
這個時候會失敗,因為沒有公鑰,缺少 GPG 的key導致的
-
把公鑰添加到服務器
上面圖片箭頭的B53DC80D13EDEF05
就是你的公鑰,需要添加自己的apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B53DC80D13EDEF05
導入之后就會更新成功
apt-get update
4.2、安裝組件
下面三個是k8s必要的組件,
kubeadm
:創(chuàng)建、升級和管理 Kubernetes 集群kubelet
:管理節(jié)點上的容器生命周期kubectl
:管理和調(diào)試 Kubernetes 應用程序
- 執(zhí)行安裝
安裝的時候需要y,y就行apt-get install kubeadm=1.28.1-00 kubelet=1.28.1-00 kubectl=1.28.1-00
上面是我安裝的版本,如果想安裝其他版本可以用下面的命令查看,如果不加版本號,會下載最新的
-
查看版本
apt-cache madison kubeadm apt-cache madison kubelet apt-cache madison kubectl
-
查看是否安裝成功
kubeadm version kubelet --version kubectl version
-
鎖定版本
安裝好后需要需要鎖定版本,避免自動更新造成的一些問題apt-mark hold kubeadm kubelet kubectl
5、克隆服務器
因為我們是要建立k8s集群嘛,所以需要有三臺服務器用做搭建集群,
如果是本身有多臺服務器的,并且前面的命令都在全部服務器執(zhí)行過了的,就可以跳過這一步。
克隆服務器在VMware和parallels desktop執(zhí)行都比較簡單
5.1、通過parallels desktop克隆
- 先把服務器關(guān)閉
- 右擊你剛剛下載的好配置依賴的容器,點擊克隆
- 定義名稱,點擊確認
重復兩次克隆兩臺從服務器出來
5.2、通過VMware克隆
-
克隆
先關(guān)閉虛擬機,然后右擊點擊
-
然后一路next確認
然后等待克隆完成,啟動
6、主機配置
6.1、設(shè)置靜態(tài)ip
-
復制配置文件
避免配置錯了無法恢復??赡苡行┌姹镜呐渲梦募皇墙?code>00-installer-config.yaml這個名字,反正修改/etc/netplan
下的那個文件就行cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
-
修改配置文件
vim /etc/netplan/00-installer-config.yaml
-
配置文件(三臺虛擬機服務器都需要配置本虛擬機的ip)
需要修改下面文件的addresses: [192.168.5.55/24]
和via: 192.168.5.1
,!!!注意不要有多余空格- addresses需要把ip改為本服務器的
- via:網(wǎng)段改為自己的,網(wǎng)段通過
route -n
命令查看
-
安裝的arm架構(gòu)的
# This is the network config written by 'subiquity' network:version: 2ethernets:enp0s5:dhcp4: noaddresses: [192.168.5.55/24]routes:- to: defaultvia: 192.168.5.1nameservers:addresses: [119.29.29.29,114.114.114.114,8.8.8.8]
-
安裝的amd架構(gòu)的
network:version: 2renderer: networkdethernets:ens33:dhcp4: noaddresses:- 192.168.3.170/24routes:- to: defaultvia: 192.168.3.1nameservers:addresses: [119.29.29.29,114.114.114.114,8.8.8.8]
-
配置生效
netplan apply
配置好之后可以ping一下局域網(wǎng)的其他物理機的網(wǎng)絡,看是否可以ping通
6.2、修改主機名
三臺服務器分別執(zhí)行
-
master01執(zhí)行
hostnamectl set-hostname master01
-
worker01執(zhí)行
hostnamectl set-hostname worker01
-
worker02執(zhí)行
hostnamectl set-hostname worker02
然后
exit
退出當前用戶,在重新登陸一下就可以了,可以看名字都一句以及已經(jīng)改為了對應的名字
6.3、主機名解析ip
全部都需要執(zhí)行(!!!!這個要改為自己集群的主機ip)
cat >> /etc/hosts << EOF
192.168.5.53 mater01
192.168.5.54 worker01
192.168.5.55 worker02
EOF
通過WindTerm的頻道功能,可以實現(xiàn)同頻道中,只要一個頁面輸入,其他的都會同步輸入
再執(zhí)行查看是否寫入
cat /etc/hosts
6.4、時間同步
-
更改時區(qū)為上海時區(qū)
timedatectl set-timezone Asia/Shanghai
-
安裝ntpdate
ntpdate是一個用于同步系統(tǒng)時鐘與NTP服務器的工具apt-get install ntpdate
-
通過ntpdate命令同步時間
ntpdate time1.aliyun.com
-
通過定時任務去實現(xiàn)定時同步
crontab -e
中間會讓你選擇輸入
2
:
把下面這行加入進去0 */1 * * * ntpdate time1.aliyun.com
6.5、配置內(nèi)核轉(zhuǎn)發(fā)、網(wǎng)橋過濾配置
- 配置依賴模塊到 /etc/modules-load.d/k8s.conf,用于實現(xiàn)開啟自動加載
-
overlay: 這是 OverlayFS 的內(nèi)核模塊,用于支持 Docker 和 Kubernetes 等容器化技術(shù)。
-
br_netfilter: 這是 Linux 內(nèi)核中的網(wǎng)橋過濾器模塊,用于支持 Kubernetes 的網(wǎng)絡功能。
cat << EOF | tee /etc/modules-load.d/k8s.conf overlay br_netfilter EOF
配置完成之后,本次啟動這兩個配置,因為配置上配置后期開機啟動的,當下也需要先啟動
modprobe overlay
modprobe br_netfilter
2. 查看是否啟動成功lsmod | egrep "overlay"
lsmod | egrep "br_netfilter"
-
轉(zhuǎn)發(fā)配置到k8s.conf文件中
cat << EOF | tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF
-
加載內(nèi)核參數(shù):
sysctl --system
-
然后在查看是否加載成功
sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
和net.ipv4.ip_forward_update_priority = 1
都變?yōu)?了表示加載成功
三、部署集群
1、配置部署k8s集群
1.1、集群初始化
下面的只需要master節(jié)點
的主機執(zhí)行,其他的兩個從機不用執(zhí)行
- 創(chuàng)建kubeadm-config配置文件
把配置文件打印到本地,用于編輯kubeadm config print init-defaults > kubeadm-config.yaml
- 修改文件
修改拉下來的配置文件vim kubeadm-config.yaml
-
修改
advertiseAddress
的ip為mater01節(jié)點的ip -
修改
name
為mater01節(jié)點的主機名 -
修改
imageRepository
倉庫地址為阿里云的鏡像倉庫registry.aliyuncs.com/google_containers
。因為前面/etc/containerd/config.toml
文件修改了,如果前面的文件鏡像倉庫地址沒修改,這個地方也可以不修改 -
修改
kubernetesVersion
版本號,前面下載的是什么版本就寫什么版本 -
dnsDomain
表示DNS域名,可以不修改,但一個局域網(wǎng)內(nèi)只能有一個相同的,如果有兩個k8s集群用的一樣的DNS名字就會沖突,一般推薦修改為公司的域名 -
在
networking
中的 serviceSubnet 后面添加podSubnet: 10.244.0.0/16
-
在最后面在添加下面的配置
--- kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 cgroupDriver: systemd
紅色的是修改,綠色的是添加
-
重啟服務
修改完,分別重啟containerd 和 kubeletsystemctl restart containerd systemctl restart kubelet
-
下載鏡像
下載k8s所需要的鏡像到主節(jié)點
--image-repository
:指定鏡像倉庫--kubernetes-version
:版本號,改為你的k8s版本kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version v1.28.1
-
執(zhí)行初始化
kubeadm init --config kubeadm-config.yaml
出現(xiàn)下面的,就表示初始化成功了
1.2、準備kubectl配置文件
-
添加配置文件
把上面輸出的內(nèi)容在master
節(jié)點執(zhí)行一遍mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
查看節(jié)點
kubectl get nodes
1.2、添加從節(jié)點
復制剛剛自己初始化的地址,到從節(jié)點執(zhí)行,也就是另外兩個worker02節(jié)點
(!!!這個是我的,需要復制自己的)
-
復制token
kubeadm join 192.168.5.53:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:55917a9c22cb444e83ce19517b8b9f1856401cf3ca11df4e661978fd9eed222e
-
查看
在到主節(jié)點進行查看kubectl get nodes
在查看,就可以看到剛剛加入的worker節(jié)點了
2、安裝k8s網(wǎng)絡插件Calico
k8s常用的網(wǎng)絡插件主要有
- Flannel:Flannel是Kubernetes官方推薦的網(wǎng)絡插件之一。它提供了一種基于UDP的網(wǎng)絡通信方式,支持多租戶和多網(wǎng)段。
- Calico:Calico是另一個流行的K8S網(wǎng)絡插件。它提供了一種基于BGP的網(wǎng)絡通信方式,支持多租戶和多網(wǎng)段。
- Weave:Weave是一種基于 Overlay 網(wǎng)絡的K8S網(wǎng)絡插件。它提供了一種簡單易用的方式來管理集群中的網(wǎng)絡通信。
- Cilium:Cilium是一種基于 Linux 內(nèi)核的K8S網(wǎng)絡插件。它提供了一種高性能的網(wǎng)絡通信方式,支持多租戶和多網(wǎng)段。
- OpenVSwitch:OpenVSwitch是一種基于開源的K8S網(wǎng)絡插件。它提供了一種高性能的網(wǎng)絡通信方式,支持多租戶和多網(wǎng)段。
2.1、執(zhí)行安裝tigera-operator
-
下載
我這安裝的是3.26.1,如果需要安裝其他版本,直接改版本號就行,其他目錄都是一樣的kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml
-
查看是否安裝成功
tigera-operator
kubectl get ns
-
查看pod狀態(tài)
如果是Runing
狀態(tài)就代表成功了,如果不是就代表有問題kubectl get pods -n tigera-operator
2.2、配置custom-resources
custom-resources.yaml 是一個用于配置 Kubernetes 的自定義資源定義(CRD)文件
-
先拉取下來
wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml
-
修改配置
修改配置網(wǎng)段,這個網(wǎng)段是前面初始化時設(shè)置的podSubnet
的網(wǎng)段cidr: 10.244.0.0/16
vim custom-resources.yaml
-
拉取鏡像
因為一些原因,選擇不能下載,需要通過一些大佬弄的映射加速倉庫去拉。
!!!全部節(jié)點都要拉取。
如果下面的地址不行,可以到里面去找最新的
https://github.com/DaoCloud/public-image-mirror/issues/2328ctr image pull docker.1panel.live/calico/cni:v3.26.1 ctr image pull docker.1panel.live/calico/pod2daemon-flexvol:v3.26.1 ctr image pull docker.1panel.live/calico/node:v3.26.1 ctr image pull docker.1panel.live/calico/kube-controllers:v3.26.1 ctr image pull docker.1panel.live/calico/typha:v3.26.1 ctr image pull docker.1panel.live/calico/node-driver-registrar:v3.26.1 ctr image pull docker.1panel.live/calico/csi:v3.26.1
-
查看是否下次完成
ctr image list
要確保全部都是
application/vnd.docker.distribution.manifest.list.v2+json
沒有出現(xiàn) Init:ErrImagePull
-
應用配置
下載完成之后執(zhí)行下面命令,應用配置kubectl create -f custom-resources.yaml
-
查看命名空間
kubectl get ns
看到
calico-system
代表ok了
-
查看pod
kubectl get pods -n calico-system
大概等個幾分鐘,都是
Runing
,代表成功 -
再查看節(jié)點信息,就會發(fā)現(xiàn)狀態(tài)已經(jīng)變成 Ready 狀態(tài)
kubectl get nodes
到這一步,說明就是全部安裝完成了
2.3、錯誤解達。
如果哪個節(jié)點有問題
執(zhí)行下面命令直接刪除掉k8s相關(guān)的東西,然后重新安裝三個組件,在去重新通過鏈接加入就行。
#重置 Kubernetes 集群,它會刪除所有與 Kubernetes 相關(guān)的配置文件、數(shù)據(jù)和組件。
sudo kubeadm reset
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/*
rm -rf /root/.kube
rm -rf /etc/kubernetes/*ipvsadm -C
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
四、測試使用
1、安裝可視化Web工具:Kuboard v3
1.1、使用kubectl安裝(master01節(jié)點執(zhí)行)
發(fā)生錯誤可以查看kuboard官網(wǎng)
https://press.demo.kuboard.cn/install/v3/install-in-k8s.html
-
下載配置文件
wget https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml
-
執(zhí)行創(chuàng)建
kubectl apply -f vim kuboard-v3-swr.yaml
如果鏡像拉取不下來可以修改下鏡像倉庫地址改為我的阿里云的進行倉庫地址
vim kuboard-v3-swr.yaml
# 地址: registry.cn-hangzhou.aliyuncs.com/zhengfp_images/kuboard-agent registry.cn-hangzhou.aliyuncs.com/zhengfp_images/etcd-host:3.4.16-1 registry.cn-hangzhou.aliyuncs.com/zhengfp_images/kuboard:v3 registry.cn-hangzhou.aliyuncs.com/zhengfp_images/questdb:6.0.4
分別把地址放入下面對應的地方
繼續(xù)執(zhí)行部署kubectl apply -f vim kuboard-v3-swr.yaml
-
查看部署
kubectl get pods -n kuboard
都是
Running
即可 -
web測試
-
在瀏覽器打開鏈接
http://節(jié)點IP:30080
-
輸入初始用戶名和密碼,并登錄
- 用戶名:
admin
- 密碼:
Kuboard123
- 用戶名:
1.1.2、常見錯誤
通過kubectl get pods -n kuboard
查看pod,看哪個pod不成功
查看對應的錯誤
powershell kubectl logs kuboard-v3-7979bc788f-hln74 -n kuboard
desc = "transport: Error while dialing dial tcp: missing address"
錯誤表明 Kuboard 無法連接到 etcd。
kuboard-v3-xxxxx
的容器出現(xiàn)CrashLoopBackOff
的狀態(tài),可能的原因有
需要執(zhí)行
前面兩個錯誤都是執(zhí)行下面的命令
kubectl label nodes mater01 k8s.kuboard.cn/role=etcd
1.2、web配置
-
剛進去會有一個錯誤的集群,刪除掉,點擊添加集群
-
輸入集群名稱和描述
-
復制kubeConfig
在master01節(jié)點執(zhí)行cat ~/.kube/config
命令,把全部內(nèi)容復制到kubeConfig框內(nèi),點擊確認
如圖顯示,代表成功
2、部署Nginx服務
2.1、使用Kuboard部署
-
在首頁點擊集群,選擇命名空間
-
填寫信息
左邊選擇,名稱空間>常用操作>創(chuàng)建工作負載,然后再填寫基本信息
-
填寫容器信息
阿里云鏡像地址registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
填寫好之后點擊上面的保存>應用>確認>
-
查看
5.訪問對應的節(jié)點進行測試
2.2、使用yaml方式創(chuàng)建
-
創(chuàng)建yaml
vim nginx-deployment.yaml
-
編寫配置
--- apiVersion: apps/v1 kind: Deployment metadata:name: nginxweb # 部署的名稱 spec:replicas: 2 # 設(shè)置副本數(shù)量為2selector:matchLabels:app: nginxweb1 # 用于選擇匹配的Pod標簽template:metadata:labels:app: nginxweb1 # Pod的標簽spec:containers:- name: nginxwebc # 容器名稱image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest # 鏡像拉取地址,換成阿里云的,不然會拉取失敗imagePullPolicy: IfNotPresent # 鏡像拉取策略,如果本地沒有就拉取ports:- containerPort: 80 # 容器內(nèi)部監(jiān)聽的端口 --- apiVersion: v1 kind: Service metadata:name: nginxweb-service # 服務的名稱 spec:externalTrafficPolicy: Cluster # 外部流量策略設(shè)置為集群selector:app: nginxweb1 # 用于選擇匹配的Pod標簽ports:- protocol: TCP # 使用TCP協(xié)議port: 80 # 服務暴露的端口targetPort: 80 # Pod中容器的端口nodePort: 30080 # 在每個Node上分配的端口,用于外部訪問type: NodePort # 服務類型,使用NodePort
-
應用配置
kubectl apply -f nginx-deployment.yaml
-
檢查是否成功
-
查看
pod
kubectl get pods
-
查看
service
service 可以查看到對應pod的名稱還有端口映射
kubectl get service
-
查看訪問ip
curl http://10.244.5.3 curl http://10.244.30.69
- 通過對應的節(jié)點IP進行測試
??碼字不易,覺得可以的話可以一鍵三連一下!!!