<s id="xcxsa"></s><rp id="xcxsa"></rp>

  • <span id="xcxsa"><pre id="xcxsa"><rt id="xcxsa"></rt></pre></span>
    <dd id="xcxsa"></dd><tbody id="xcxsa"></tbody>
        首頁 運維干貨搭建免費的 K8s 集群,10 秒部署應用

        搭建免費的 K8s 集群,10 秒部署應用

        運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
        領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

        自 2014 年第一個版本發布以來,K8s 在開源社區迅速走紅,包括 Red Hat、VMware、Canonical 在內的許多有影響力的公司都加入了開發和推廣陣營。目前,K8s 已經成為增長最快、市場份額最高的容器編排引擎產品。

        但是,知識門檻越高,越需要搭建一個最小可用的 K8s 系統。如果直接學習理論知識和概念,很容易剛開始就放棄。

        今天給大家介紹如何通過網頁瀏覽器創建預部署的 K8s 集群,免費快速體驗 K8s 的功能和應用場景,無需深入了解即可開始體驗。

        Kubernetes.io

        如果還不知道,K8s 官網為大家準備了現成的最低可用系統。只需訪問 https://kubernetes.io/docs/tutorials/kubernetes-basics/,您即可看到以下內容:

        搭建免費的 K8s 集群,10 秒部署應用插圖

        本教程將指導您完成創建 K8s 集群、部署應用、訪問應用、擴展應用、更新應用等最常見的使用場景,快速建立起從感覺上對它的認識。

        創建 K8s 集群

        點擊教程菜單 1. Create a Cluster->Interactive Tutorial – Creating a Cluster

        搭建免費的 K8s 集群,10 秒部署應用插圖1

        它將為環境做好準備:

        搭建免費的 K8s 集群,10 秒部署應用插圖2

        環境準備好后,您將看到 “Kubernetes Bootcamp Terminal” 的字樣。

        搭建免費的 K8s 集群,10 秒部署應用插圖3

        現在檢查版本,并啟動你的 minikube:

        搭建免費的 K8s 集群,10 秒部署應用插圖4

        準備就緒后,運行以下命令進行驗證:

        $ kubectl get svc 
        NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 
        kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 22s 
        $ kubectl get node 
        NAME STATUS ROLES AGE VERSION 
        minikube Ready control-plane,master 27s v1.20.2
        

        現在您只需幾秒鐘就擁有一個 minikube K8s 集群!您可通過以下方式查看集群信息:

        $ kubectl cluster-info
        Kubernetes control plane is running at https://172.17.0.32:8443
        KubeDNS is running at https://172.17.0.32:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
        To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
        

        部署應用程序

        現在我們有了集群,讓我們部署一個應用程序示例:

        $ kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
        deployment.apps/kubernetes-bootcamp created
        

        這里 deployment 是 K8s 的術語,可以理解為應用(部署)。在上面的示例中,我們使用的是容器鏡像(Docker Image) gcr.io/google-samples/kubernetes-bootcamp:v1。

        在 K8s 中,還有一個重要的名詞 Pod。Pod 是容器的集合,通常將一組密切相關的容器放入一個 Pod 中。同一個 Pod 中的所有容器共享 IP 地址和端口,即它們在同一個網絡命名空間中。Pod 是 Kubernetes 調度的最小單位,并且同一個 Pod 中的容器總是一起調度的。

        讓我們查看一下與我們的部署關聯的 pod:

        $ kubectl get pods 
        NAME READY STATUS RESTARTS AGE 
        kubernetes-bootcamp-57978f5f5d-rfpww 1/1 Running 0 2m10s
        

        kubectl proxy

        在 K8s 中運行的 Pod 同時也運行在一個私有的、隔離的網絡上。默認情況下,它們在同一個 K8s 集群中的其他 pod 和服務中是可見的,但在該網絡之外不可見。為了訪問我們的應用程序,我們需要使用 kubectl proxy 命令。此命令創建一個代理,它將通信轉發到集群范圍內的私有網絡中。代理可以通過按 control-C 來終止,并且在其運行時不會顯示任何輸出。

        $ kubectl proxy
        Starting to serve on 127.0.0.1:8001
        

        現在打開一個新終端,您應該可以訪問應用程序端點:

        $ curl http://localhost:8001/version
        {
          "major": "1",
          "minor": "20",
          "gitVersion": "v1.20.2",
          "gitCommit": "faecb196815e248d3ecfb03c680a4507229c2a56",
          "gitTreeState": "clean",
          "buildDate": "2021-01-13T13:20:00Z",
          "goVersion": "go1.15.5",
          "compiler": "gc",
          "platform": "linux/amd64"
        }
        

        規模應用

        默認情況下,應用程序只會運行一個副本,您可以使用 kubectl get deployments 來檢查副本的數量。

        $ kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
        

        執行以下命令將副本數增加到 3:

        $ kubectl scale deployment/kubernetes-bootcamp --replicas=3
        deployment.apps/kubernetes-bootcamp scaled
        $ kubectl get deployment
        NAME                  READY   UP-TO-DATE   AVAILABLE   AGE
        kubernetes-bootcamp   3/3     3            3           105s
        

        您還可以使用 kubectl get pods 看到當前的 Pod 也增加到了 3 個

        $ kubectl get pods
        NAME                                  READY   STATUS    RESTARTS   AGE
        kubernetes-bootcamp-fb5c67579-kc6xc   1/1     Running   0          29s
        kubernetes-bootcamp-fb5c67579-p2vnv   1/1     Running   0          29s
        kubernetes-bootcamp-fb5c67579-w7jw9   1/1     Running   0          118s
        

        將規模減小也很方便,執行以下命令即可:

        $ kubectl scale deployments/kubernetes-bootcamp --replicas=2
        

        滾動更新

        當前應用使用的鏡像版本是 v1。運行以下命令將其升級到 v2:

        $ kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
        deployment.apps/kubernetes-bootcamp image updated
        $ kubectl get pods
        NAME                                   READY   STATUS              RESTARTS   AGE
        kubernetes-bootcamp-57978f5f5d-8g944   1/1     Running             0          30s
        kubernetes-bootcamp-57978f5f5d-rccwb   1/1     Terminating         0          13s
        kubernetes-bootcamp-57978f5f5d-t5v84   1/1     Running             0          13s
        kubernetes-bootcamp-769746fd4-6fxgl    1/1     Running             0          2s
        kubernetes-bootcamp-769746fd4-h8784    0/1     ContainerCreating   0          0s
        

        可以觀察到滾動更新的 kubectl get pods 過程:v1 版 Pod 被逐個刪除,同時新的 v2 版 Pod 被啟動。更新完成后即可訪問新版本的應用程序。

        如果要回滾到 v1 版本,可執行 kubectl rollout undo 命令,也很簡單:

        $ kubectl rollout undo deployments/kubernetes-bootcamp
        deployment.apps/kubernetes-bootcamp rolled back
        $ kubectl get pods
        NAME                                   READY   STATUS              RESTARTS   AGE
        kubernetes-bootcamp-57978f5f5d-5xpzm   0/1     ContainerCreating   0          1s
        kubernetes-bootcamp-57978f5f5d-5zgvj   1/1     Running             0          3s
        kubernetes-bootcamp-57978f5f5d-qml9r   1/1     Running             0          4s
        kubernetes-bootcamp-769746fd4-6fxgl    1/1     Running             0          2m15s
        kubernetes-bootcamp-769746fd4-9mzbs    1/1     Terminating         0          2m11s
        kubernetes-bootcamp-769746fd4-h8784    1/1     Terminating         0          2m13s
        

        至此,我們通過官網的互動教程快速體驗了 K8s 的功能和用法。如果您是 K8s 新手,這應該可以讓您無需先花費時間和金錢來創建 K8s 集群就能體驗到 K8s 的工作原理。

        鏈接:https://blog.devgenius.io/k8s-build-free-k8s-cluster-and-deploy-application-in-10-seconds-d013ae5e5a92

        (版權歸原作者所有,侵刪)

        本文鏈接:http://m.abandonstatusquo.com/41182.html

        網友評論comments

        發表評論

        您的電子郵箱地址不會被公開。

        暫無評論

        Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
        掃二維碼
        掃二維碼
        返回頂部
        十分钟免费观看视频高清下载