k8s(三)配置Kubernetes集群

現(xiàn)在應(yīng)用被打包在一個容器鏡像中,并通過 Docker Hub 給大家使用,可以將它部署到 Kubernetes 集群中,而不是直接在 Docker 中運行

一 個適 當(dāng) 的 Kubemetes 安裝需要包含多個物理或虛擬機,并需要正確 地設(shè) 置網(wǎng)絡(luò),以便在 Kubemetes 集群內(nèi)運行的所有容器都可 以在相同的扁平網(wǎng)絡(luò)環(huán)境內(nèi)相互連通。

2.1Minikube運行本地但節(jié)點K8s集群

  • 安裝

Minikube是一個需要下載并放到路徑中的二進(jìn)制文件。 它適用于 osx、 Linux 和Windows系統(tǒng)。最好訪問GitHub上的Minikube代碼倉庫(https://github.com/kubernetes/minikube), 按照說明(https://minikube.sigs.k8s.io/docs/start/)來安裝它 。

image-20230218152532282.png

  • 安裝并啟動集群
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
$ sudo install minikube-darwin-arm64 /usr/local/bin/minikube
$ minikube star
image-20230218153316093.png
  • 安裝kubernetes客戶端-kubectl
    $ minikube kubectl -- get po -A
    image-20230218154248540.png
  • 使用 kubectl 查看集群是否正常工作
    $ kubectl cluster-info
    image-20230218154844571.png
  • 可以通過minikube ssh登陸到Minikube VM從內(nèi)部查看他有那些進(jìn)程
    $ minikube ssh
    image-20230218155402077.png

2.2使用Google Kubernetes Engine 托管 Kubernetes 集群

  • 說明

    • Google Kubernetes Engine(GKE)是谷歌提供的一個受管環(huán)境,您可以使用 Google 基礎(chǔ)架構(gòu)在其中部署、管理和擴縮容器化應(yīng)用。

    • GKE 環(huán)境包括多個機器(具體來講,就是 實例),這些機器組合在一起就形成了集群。

    • 手動設(shè)置所有的集群節(jié)點和網(wǎng)絡(luò)對于剛開始使用 Kubemetes 的人來說太復(fù)雜了

    • 使用例如 GKE 這樣的托管解決方案可以確保不會出現(xiàn)配置錯誤、不工作或部分工作的集群 。

  • 配置一個 Google Cloud 項目井且下載必需的客戶端二進(jìn)制大致流程

    • 注冊谷歌賬戶然后登陸https://cloud.google.com/kubernetes-engine?hl=zh-cn申請試用GKE(需要visa信用卡賬戶信息)

    • 在 GoogleCloudPlatform控制臺中創(chuàng)建一個項目。

    • 開啟 Kubemetes Engine API。

    • 下載安裝 Google Cloud SDK (這包含 gcloud 命令行工具,需要創(chuàng)建 一 個Kubemetes 集群)。

    • 使用 gcloud compone口ts install kubectl 安裝 kubectl 命令行工具。

  • 創(chuàng)建一個三節(jié)點 Kubernetes 集群

    • 完成安裝后,可以使用下面代碼清單中的命令創(chuàng)建 一 個包含 三 個工作節(jié)點的 Kubemetes 集群 。
      $ gcloud container clusters create kubia --num-nodes 3
      image-20230220103154586.png

      image-20230220103231442.png
  • 集群交互的初步認(rèn)識,每個節(jié)點運 行著 Docker、 Kubelet和 kube-proxya

  • 可以通過 kubectl 命令行客戶端向運行在主節(jié)點上的 KubemetesAPI服務(wù)器發(fā)出 REST請求以與集群交互。


    image-20230220103417615.png
  • 現(xiàn)在可以使用 kubectl 命令列出集群中的所有節(jié)點。
    $ kubectl get nodes

    image-20230220145624064.png

  • 查看對象的更多信息
    $ kubectl describe node <node-name>d
    輸出顯示了節(jié)點的狀態(tài)、 CPU 和內(nèi)存數(shù)據(jù)、系統(tǒng)信息、運行容器的節(jié)點等

也可以 執(zhí)行一個簡單的 kubectl describe node 命令,而無須指定節(jié)點名,它將打印 出所有節(jié)點的描述信息 。

  • 為kubectl配置別名
$ alias k=kubectl```
![image-20230220151837597.png](https://upload-images.jianshu.io/upload_images/26431396-dacf488c6f8f48d6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容