日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

5分钟安装Kubernetes+带你轻松安装istio服务网格指南

發(fā)布時間:2023/12/24 windows 24 coder
生活随笔 收集整理的這篇文章主要介紹了 5分钟安装Kubernetes+带你轻松安装istio服务网格指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上次我跟大家簡單介紹了一下Kubernetes的各個組件及其含義,本期本來計劃帶領(lǐng)大家一起學習一些常用命令,但我認為這種方式可能無法達到學習的效果。有可能你們會直接忘記,甚至可能沒有興趣去學。我也理解,心想這跟我有什么關(guān)系,我本地又搭建不起來K8s。

我一直堅持讓大家親自動手敲命令解決問題,因為只有這樣才能真正理解命令的作用。所以我一直秉持著讓大家能夠直接學習命令,我也不想去寫什么安裝教程,直接給你們封裝好環(huán)境了,但是這個環(huán)境是我自己站在巨人的肩膀上一步一步搭建起來的。我本地進行測試是沒有問題的。這個環(huán)境僅供大家本地學習使用,如果因此造成任何損失,我概不負責哦。

如果你想獲取Kubernetes的學習環(huán)境,請關(guān)注我的主頁,然后在微信中搜索我的公眾號即可后臺回復: k8s。由于不能進行廣告宣傳,我就不在這里提及公眾號的名字了。現(xiàn)在,我們繼續(xù)正式話題,開始快速安裝istio。

K8s直接安裝

前提是你需要先獲取一個適用于Kubernetes學習環(huán)境的安裝包。我的分享鏈接將提供五個文件,它們分別是:

oracle VM visualbox 類似于你的vmware一樣是一個運行虛擬機的軟件,你總不能去買一臺高配置的云服務(wù)器去搞吧。也沒有資金。

k1215-centos81-docker-1.20.6-56.5.ova是只集成了k8s和docker的鏡像,可以直接學習各種k8s的命令

k8s-istio-centos81-docker-1.20.6-56.ova是在k1215-centos81-docker-1.20.6-56.5.ova版本基礎(chǔ)上集成好了istio的鏡像,你可以直接導入到visualbox 中啟動運行即可。剩下的就可以學習服務(wù)網(wǎng)格了。

istio-1.11.1-linux-amd64.tar.gz是istio的離線安裝包,因為需要代理,所以我也提前下載下來了。

kube-flannel.yaml是網(wǎng)絡(luò)組件,因為需要代理,所以我也提前下載下來了。

一旦你下載完成。助你快速學習k8s的命令用法以及其他知識,省去安裝這種費勁的無用耗時。

導入基礎(chǔ)K8s鏡像

我們將根據(jù)一個僅集成了Kubernetes和Docker的鏡像,逐步進行istio的安裝。這樣做有兩個好處:一方面,你可以直接練習Kubernetes的命令;另一方面,你能夠更深入地理解Kubernetes的各種概念和問題。好的,我們開始吧。

首先,你需要確保已經(jīng)成功安裝了Oracle VM VirtualBox(關(guān)于這個安裝過程我就不詳細解釋了)。安裝完成后,我們需要進行第一步,即處理你的NAT網(wǎng)絡(luò)設(shè)置,因為這個鏡像需要通過NAT模式進行聯(lián)網(wǎng)。請按照以下圖示進行設(shè)置:

在創(chuàng)建時,你無需填寫任何內(nèi)容,因為系統(tǒng)會自動為你生成IP地址。你只需要記住這個NAT網(wǎng)絡(luò)的名稱即可。

好的,現(xiàn)在你可以開始直接導入基于k8s的基礎(chǔ)鏡像。如下圖所示:

在導入選擇K8s的基礎(chǔ)鏡像后,需要注意的是MAC地址設(shè)定這個方面。除此之外,沒有其他需要特別注意的地方。接下來就是等待過程。

當你完成操作之后,請務(wù)必進行虛擬機網(wǎng)絡(luò)的設(shè)置。

好的,現(xiàn)在讓我們來啟動你的虛擬機吧!k8s的大門已經(jīng)為你打開了。然而,在建立istio服務(wù)網(wǎng)格的過程中,你可能會遇到各種報錯。不用擔心,我撰寫本文的目的就是為了幫助你解決這些報錯,并成功建立起istio服務(wù)網(wǎng)格。此外,你還能學到一些常用命令。

istio手動安裝

當你準備登錄虛擬機時,請使用以下賬戶信息:用戶名為root,密碼為123456。如果你安裝了xshell,你可以通過使用IP地址192.168.56.5直接進行連接。無需擔心IP地址與你本地設(shè)備的地址不同,因為它已被設(shè)定為固定值。

由于我已經(jīng)完成了所有的環(huán)境配置工作,因此可以直接利用k8s的命令進行操作。

kubectl get cs

好的,讓我們開始執(zhí)行第一個命令,用于查看各個組件的狀態(tài)。這個命令的縮寫是"cs",代表"component status"。我已經(jīng)在之前的文章中講解了有哪些組件了。所以我不會再重復告訴你。然而,令人意外的是,執(zhí)行命令后出現(xiàn)了錯誤。

至于為什么會報出這個錯誤,關(guān)于這個問題在網(wǎng)上有很多不同的說法。幸運的是,我找到了一個解決方案。首先,我需要先卸載一下相關(guān)的內(nèi)容。

卸載:
kubeadm reset
ifconfig cni0 down && ip link delete cni0
ifconfig flannel.1 down && ip link delete flannel.1
rm -rf /var/lib/cni/
rm -rf /etc/kubernetes
rm -rf /root/.kube/config
rm -rf /var/lib/etcd

重新安裝:
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.21.5 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --apiserver-advertise-address=192.168.56.5


安裝完之后,在執(zhí)行一下,kubeadm讓我們執(zhí)行的語句:
mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

再次執(zhí)行查看組件狀態(tài)后,仍然無法正常工作。然而,其中一個組件成功運行了:

這時候,為了完成任務(wù),我們需要對一些文件進行修改。我已經(jīng)準備好了命令,我們需要做的是注釋掉兩個文件中的port這一行。

vim /etc/kubernetes/manifests/kube-scheduler.yaml
vim /etc/kubernetes/manifests/kube-controller-manager.yaml

一旦你完成了操作,你就能夠觀察到我們的k8s正常運行了。

好的,現(xiàn)在我們開始安裝istio吧。由于istio需要使用代理,所以我已經(jīng)提前準備好了相應(yīng)版本的istio安裝包。接下來,只需將安裝包直接復制到虛擬機中即可開始安裝。

使用tar -zxvf istio-1.11.1-linux-amd64.tar.gz命令解壓成功后,需要你修改到etc/profile中。

export ISTIO_HOME=/root/istio-1.11.1/bin
export PATH=$ISTIO_HOME:$PATH

在執(zhí)行完相應(yīng)的操作后,記得使用命令 "source /etc/profile" 來使其生效。接下來,你就可以開始安裝了。

安裝命令:istioctl install --set profile=demo -y

在等待了大約幾分鐘后,不出所料,還是遇到了錯誤。我們的第一反應(yīng)肯定是上網(wǎng)搜索解決方案。然而,盡管我嘗試了所有的解決方案,例如網(wǎng)絡(luò)代理等,但都沒有成功解決我的問題。答案眾多,但都不是我所需要的正確答案。

然而,我知道當安裝istio時,它會在k8s中啟動一個pod。于是,我決定直接查看后臺啟動日志,這樣或許能找到問題的所在。因此,現(xiàn)在我們可以開始學習一些關(guān)于k8s命令的知識了。

首先,我們需要檢查一下istio是否安裝在特定的命名空間中。命名空間可以被理解為一種隔離機制,類似于進行分組操作,將同一命名空間下的pod視為一組。

kubectl get ns

為了查看所有的命名空間,你可以使用以下命令:kubectl get namespaces 或者 kubectl get ns。通過執(zhí)行這個命令,你可以輕松地確定istio是否安裝在名為istio-system的命名空間中。通常情況下,我們會在默認的命名空間default下進行操作。

kubectl get pods -n

為了查看istio-system命名空間下的pod狀態(tài),你可以使用以下命令:kubectl get pods -n istio-system。通過添加"-n"參數(shù)并指定命名空間,你可以在不切換命名空間的情況下,輕松地查看指定命名空間下的pod狀態(tài)。當然,如果你希望切換到其他命名空間,你可以使用以下命令::kubectl config set-context $(kubectl config current-context) --namespace=istio-system

kubectl describe pod

好的,我們注意到pod的狀態(tài)異常,因此我們首先查看pod的描述以確定是否有異常情況。執(zhí)行命令kubectl describe pod <pod的名稱> -n istio-system后,我們發(fā)現(xiàn)確實有提示信息如下:

kubectl taint nodes

錯誤信息可以輕松查看真正的錯誤原因。通常情況下,Kubernetes的Master節(jié)點是不可調(diào)度的,以防止在Master節(jié)點上運行用戶Pod。然而,考慮到我們的虛擬環(huán)境只是用于學習,我們可以直接運行Pod而不管它們是否可以調(diào)度。因此,我們需要對配置進行調(diào)整。

命令是:kubectl taint nodes <node-name> node-role.kubernetes.io/master-請將替換為你的Master節(jié)點的名稱。這將允許Pod在Master節(jié)點上調(diào)度。

kubectl get nodes

如果你不知道你的node-name的話,可以使用kubectl get nodes獲取。

當你執(zhí)行完后,我們再來重新安裝一次istio,經(jīng)過優(yōu)化。然而,我們發(fā)現(xiàn)問題仍然存在,因此我們再次執(zhí)行describe命令時仍然遇到了錯誤。具體錯誤信息如下:

我看完日志后的第一反應(yīng)是感到困惑,因為我對日志中出現(xiàn)的內(nèi)容不太理解。于是我決定找AI幫忙,讓它來分析一下。AI給出的接口看起來很可信,它指出缺少了POD network Flannel網(wǎng)絡(luò)插件,我看了一下報錯信息果然如此。既然找到了問題,那就著手解決吧。

kubectl apply -f

經(jīng)過一番搜索看來是需要:wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yaml執(zhí)行命令下載一個文件。但是一看就是需要代理的,所以我也提前準備好了kube-flannel.yaml。當你往你的虛擬機中傳輸完之后,可以直接使用命令啟動kubectl apply -f kube-flannel.yaml

然而,我執(zhí)行完畢后,令人驚訝的是,Istio仍然無法正常工作。從啟動日志中可以看出,它被安裝在了kube-flannel命名空間中。現(xiàn)在,我們來查看一下它的Pod情況。

k get pod -n kube-flannel執(zhí)行完后查看到pod沒啟動成功,我們再看下他的描述信息。

kubectl logs -n

這次的描述信息似乎很正常,沒有明顯的錯誤提示,只有一個提示信息。為了更進一步了解情況,我們可以再次查看它的啟動日志,以下是相應(yīng)的命令:kubectl logs -n kube-flannel kube-flannel-ds-h47f6

在查看日志后,我們發(fā)現(xiàn)問題居然是由于網(wǎng)絡(luò)段的設(shè)置引起的,這真是個坑啊。不過好消息是,這似乎是最后一個問題了。我就不在此處詳述了,我希望你能夠自行解決。解決完畢后,你將進入istio的訓練天地,如果你真的遇到困難,可以在我的公眾號中回復k8s,我將會給你回復并提供答案。

當你安裝成功后,所有的服務(wù)都將啟動

總結(jié)

以上所有的問題,我都是自己解決的。如果你覺得我提供的幫助不錯,可以給我一個贊。對于初學者來說,我建議從基礎(chǔ)版鏡像開始慢慢構(gòu)建istio,這樣可以更好地學習k8s的命令。當然,如果你已經(jīng)是k8s的老手,除了別跳過visualBox的過程外,你可以直接下載已經(jīng)搭建好的istio虛擬機鏡像。好的,這一章就到此結(jié)束了。記得關(guān)注我的公眾號,我的宗旨是讓你用最小的成本學習到最多的技術(shù)內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的5分钟安装Kubernetes+带你轻松安装istio服务网格指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。