KubeEdge萌新的安裝部署

虛擬機建立

第一步:建立兩臺虛擬機,本文使用的是centos7。通過前幾回的失敗教訓,將磁盤空間設置的大一點40G,內存4GB,處理器4核。(最小安裝便可)
兩臺虛擬機一臺做爲master一臺做爲node1
第二步:建立完成後登陸名須要記住!一會XSHELL使用的登陸名就是這個登陸名!虛擬機登錄完成後必須先輸入

javascript

echo ONBOOT=yes >> /etc/sysconfig/network-scripts/ifcfg-ens33    

#centos7打開網關的方法,輸完之後要在使用一次 ip addr 查看一下地址否則不生效

輸完後重啓虛擬機java

XSHELL登錄方式

鏈接兩臺虛擬機,主機部分填寫虛擬機的ip地址
虛擬機的ip地址查詢方式:ip addr(通常是192開頭的那個)
若是鏈接成功就會提示輸入用戶名,用戶名就是剛剛登錄虛擬機時輸入的用戶名,密碼就是登錄時輸入的密碼。(這裏建議記住用戶名和密碼,下次登錄就會方便不少)

node

k8s部署

剛開始跟着官網的操做作了n次都失敗了,看了不少帖子因而選擇用部署kubernetes的方式進行部署master節點。(k8s部署的文件均來自於尚硅谷,具體操做也能夠觀看b站視頻BV1GT4y1A756,具體連接https://www.bilibili.com/video/BV1GT4y1A756?p=7)再次感謝尚硅谷!!良心!!!能夠從第6集開始看(只看master節點佈置部分便可)
配置兩臺節點都須要配置的信息(選擇發送鍵輸入…可使全部節點共享輸入信息)
在這裏插入圖片描述

linux

# 安裝wget指令
$yum install wget

# 關閉防火牆
$systemctl stop firewalld
$systemctl disable firewalld

# 關閉selinux
$sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
$setenforce 0  # 臨時

# 關閉swap
$swapoff -a  # 臨時
$sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

# 根據規劃設置主機名(<hostname>處填寫本身想規定的名字,本文將master節點命名爲m1,edge節點命名爲m2。注:這<>兩個符號不用輸)
$hostnamectl set-hostname <hostname>

# 在master添加hosts(注:此處的ip地址寫兩臺虛擬機的ip地址,名稱寫上一步設置的主機名,而且這一步操做僅在master節點內操做)
$cat >> /etc/hosts << EOF
192.168.44.146 k8smaster
192.168.44.145 k8snode1
192.168.44.144 k8snode2
EOF

# 將橋接的IPv4流量傳遞到iptables的鏈
$cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$sysctl --system  # 生效

# 時間同步
$yum install ntpdate -y
$ntpdate time.windows.com

安裝docker,同時也是兩個節點都要安裝git

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7
$ systemctl enable docker && systemctl start docker
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
$ cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

添加阿里雲YUM軟件源github

$ 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

安裝kubeadm,kubelet和kubectl(用比較穩定的版本)golang

$ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
$ systemctl enable kubelet

部署Kubernetes Master

因爲默認拉取鏡像地址k8s.gcr.io國內沒法訪問,這裏指定阿里雲鏡像倉庫地址docker

$ kubeadm init \
  --apiserver-advertise-address=192.168.213.129 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16
#注意第一條命令要把ip地址改爲master的ip地址
#其餘指令的ip地址只要不和master的地址衝突便可
#而且要把每句指令後的\刪除掉,再所有複製到xshell中執行

若是出現圖中語句,則說明成功了,而且複製圖中標白部分並執行
在這裏插入圖片描述
完成後輸入

shell

$kubectl  get node

會發現此時的master節點是NotReady狀態,而後咱們就須要部署CNI網絡插件json

部署網絡插件CNI

$kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#這條指令可能會失敗,能夠多試幾回(本身當時試了七八次才成功)
#若是出現關於swap的錯誤就輸入 swapoff -a

$kubectl get pods -n kube-system
#這條指令用於查看文件的拉取情況
NAME                          READY   STATUS    RESTARTS   AGE
kube-flannel-ds-amd64-2pc95   1/1     Running   0          72s

在這裏插入圖片描述
必定要耐心等!!!由於本身用的是校園網,有一次等了2個小時…
成功後如圖
在這裏插入圖片描述


$wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
$ubectl apply -f kube-flannel.yml
#這兩句命令是在上面語句實在執行不了的時候再進行使用

此時再使用

$kubeclt get node

在這裏插入圖片描述
如圖則說明master節點部署成功了!

edge端的Mosquitto安裝

更新yum源

$yum -y update

添加EPEL軟件庫

$yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

下載mosquitto

$yum -y install mosquitto

KubeEdge的安裝與配置

在master端執行便可
下載golang

$wget https://golang.google.cn/dl/go1.15.3.linux-amd64.tar.gz
#若是這步下的慢能夠本身上官網下
$tar -zxvf go1.15.3.linux-amd64.tar.gz -C /usr/local

配置golang環境

$vim /etc/profile
#這一步不成功可能須要更新vim  指令爲 yum -y install vim-enhanced
#把下面這段複製到文本末尾
export HOME=/root
export GOROOT=/usr/lib/go
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
#按鍵盤上的Ins鍵爲輸入,複製好之後按ESC,再按shift  +   :     ,輸入wq!便可保存退出

繼續輸入

$source /etc/profile
$mkdir -p /data/gopath && cd /data/gopath
$mkdir -p src pkg bin

下載KubeEdge源碼

$git clone https://github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge
#git指令安裝:  yum install -y git
#下載失敗就多試幾回

keadm安裝

keadm的安裝這個大佬已經講的很清楚了,跟着步驟走就行,文中提示會出錯的地方要在cloud端和edge端都進行修改,不能只修改cloud端!!!
連接:[link]

當修改完錯誤並執行./keadm init後,下載也會很慢(至少個人校園網是這樣的…),耐心等待,按照步驟先進行cloud端的再進行edge端的
都結束後輸入

$kubectl get node

成功啦!
在這裏插入圖片描述

總結

搭環境這個環節用了很長的時間,遇到了不少的坑,也是受到了網上不少文章視頻的幫助,秉持開源理念,因此想要把這個過程記錄下來分享給你們來也方便之後本身再看。本身是第一次接觸邊緣計算方面的知識,因此不少方面都不是那麼熟悉,若是大佬們發現文中哪裏寫的有問題還請指出,但願可以幫到你們!(本身的文字功底也很通常,若是哪裏有看不懂或者指令有問題請評論私信告知我)

參考的文章及視頻

《KubeEdge邊緣計算框架,小白也能部署了!》連接:link
《Kubeedge1.4.0安裝》連接:link
《解決GitHub的raw.githubusercontent.com沒法鏈接問題》連接:link
《KubeEdge v1.3部署指南!》連接:link
《k8s教程由淺入深-尚硅谷》連接:link

相關文章
相關標籤/搜索