0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

汽車玩家 ? 來源:新鈦云服 ? 作者:新鈦云服 ? 2020-05-05 21:01 ? 次閱讀

本Kubernetes實施示例演示了如何在Windows 10上創(chuàng)建單節(jié)點群集,以啟動并運行容器化的應(yīng)用程序。

Kubernetes使開發(fā)人員和系統(tǒng)管理員可以快速部署應(yīng)用程序并將其擴展到其需求,而無需停機。Kubernetes系統(tǒng)是高度可配置的,幾乎所有內(nèi)容都圍繞四個重要概念:節(jié)點,pod,部署和服務(wù)。

準備好進入Kubernetes的世界了嗎?這是開始的關(guān)鍵步驟和Kubernetes命令。

學(xué)習(xí)Kubernetes架構(gòu)的基礎(chǔ)知識

首先,了解Kubernetes系統(tǒng)的基礎(chǔ)非常有用。運行容器的服務(wù)器及其內(nèi)部的應(yīng)用程序稱為節(jié)點。主服務(wù)器控制,管理和配置這些節(jié)點服務(wù)器。主節(jié)點還管理Pod或一組駐留在節(jié)點上的一個或多個容器。

主服務(wù)器充當Kubernetes集群的控制平面??刂破矫嬷懈鞣N組件的主要目的是維護所有Kubernetes對象的記錄,并通過自動響應(yīng)變化來連續(xù)管理集群的期望狀態(tài)。

控制平面有四個主要組成部分:

Etcd:Kubernetes集群etcd的最基本組件是輕量級可用的配置存儲。它可以跨多個Kubernetes節(jié)點設(shè)置。它的主要目的是存儲Kubernetes集群中每個節(jié)點都可以訪問的配置數(shù)據(jù)。

Kube-apiserver:這是用于kubectl等命令行工具的RESTful接口,為它們提供了與Kubernetes集群進行交互的方式。簡單來說,它充當各種工具的管理點,以通過REST API控制和配置Kubernetes集群。

Kube控制器管理:該服務(wù)的主要作用是維護群集的狀態(tài),例如副本數(shù)。如果觀察到所需狀態(tài)有任何變化,則kube-controller-manager將運行所需的過程以確保滿足所需狀態(tài)。

Kube調(diào)度器:該組件的主要職責是根據(jù)配置,資源需求和特定于工作負載的需求計劃群集工作負載。

節(jié)點服務(wù)器有多個組件,這些組件使主服務(wù)器可以使用它們。這些包括:

容器運行時:要運行封裝在節(jié)點上存在的pod中的應(yīng)用程序,我們需要一個輕量級的,隔離的操作環(huán)境:容器。容器運行時是一種工具,例如Docker,用于創(chuàng)建,部署和運行應(yīng)用程序。

Kubelet:Kubelet是安裝在節(jié)點上以與主節(jié)點進行通信并從其接收命令的代理或服務(wù)。它指導(dǎo)需要在節(jié)點上執(zhí)行的操作,例如創(chuàng)建,縮放和刪除容器。

Kube代理:此代理服務(wù)將請求中繼到正確的容器并執(zhí)行負載平衡。Kube-proxy還執(zhí)行主機級子網(wǎng)劃分,以確保其他組件可以訪問服務(wù)。

Kubernetes實施步驟

在本教程中,我們將創(chuàng)建一個在Windows 10操作系統(tǒng)上運行的單節(jié)點群集。

要在Windows上安裝和設(shè)置Kubernetes,請加載kubectl并安裝minikube。Chocolatey軟件包管理器在此過程中會提供幫助。命令行工具kubectl對Kubernetes集群運行命令,而minikube是使我們能夠在機器上的VM中運行單節(jié)點集群的工具。輸入命令:

choco install Kubernetes-cli minikube

這將返回如下所示的輸出:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

現(xiàn)在,運行以下命令并驗證您的計算機上是否安裝了kubectl:

kubectl.exe version --client

必須在以下屏幕截圖中看到類似的輸出:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

接下來,在Kubernetes中啟動一個工作機-或節(jié)點。它可以是物理機或虛擬機。為此,請使用以下命令啟動minikube:

minikube start

這將返回如下所示的輸出:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

由于我們在Windows上安裝Kubernetes,因此請使用Hyper-V啟動VM并在VM上設(shè)置Kubernetes集群。

這樣就完成了設(shè)置。

如何在Kubernetes中運行容器

要啟動容器,請使用下面的Kubernetes命令創(chuàng)建部署。提供部署名稱和要部署的容器映像。Kubernetes將自動選擇Docker作為默認的容器運行時。在這里,我們使用將運行Nginx Web服務(wù)器的鏡像:

kubectl.exe create deployment my-nginx --image nginx

創(chuàng)建部署后,Kubernetes將構(gòu)建Pod來承載應(yīng)用程序?qū)嵗?/p>

運行上一條命令后立即輸入get pods,以在部署pod時捕獲ContainerCreating狀態(tài):

kubectl.exe get pods

這將在幾秒鐘內(nèi)完成,并且容器狀態(tài)應(yīng)更改為“正在運行”:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

如下所示,將describe關(guān)鍵字與部署名稱一起使用,以查看有關(guān)部署的更多詳細信息

kubectl.exe get deployment

kubectl.exe describe deployment helloworld-nginx

這將返回結(jié)果,例如副本數(shù),所需狀態(tài)和時間戳記:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

在此Kubernetes實施教程中,我們僅運行一個容器或Nginx服務(wù)器,但有時必須適應(yīng)增加的工作量和流量。在這種情況下,請擴大應(yīng)用程序?qū)嵗臄?shù)量。這可以通過使用帶有--replicas參數(shù)的kubectl規(guī)模部署來實現(xiàn):

kubectl.exe scale deployment helloworld-nginx --replicas 4

檢查部署。將觀察到已部署了該應(yīng)用程序?qū)嵗乃膫€副本:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

現(xiàn)在,檢查Kubernetes pod;該節(jié)點上應(yīng)運行四個容器:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

啟動應(yīng)用程序并運行

現(xiàn)在,有一個應(yīng)用程序在具有各自IP地址的多個容器中運行。接下來,將它們公開到群集之外,以便可以訪問該應(yīng)用程序:

Kubectl.exe expose deployment helloworld-nginx --port=80 --type=NodePort

通過kubectl get services命令進行驗證。這將返回NodePort的服務(wù)類型,以在Kubernetes集群的每個節(jié)點上公開端口80。該服務(wù)是一個抽象層,基本上可以實現(xiàn)負載平衡,并在共享IP地址的群集中對一個以上的pod進行分組。

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

要在Web瀏覽器中打開此應(yīng)用程序,請創(chuàng)建一個代理以將本地端口連接到群集端口,我們在上一步中使用NodePort服務(wù)公開了該端口:

kubectl.exe port-forward svc/helloworld-nginx 80:80

如下所示:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

轉(zhuǎn)到Web瀏覽器并打開http://127.0.0.1/或http://localhost/以查看在Kubernetes容器中部署的Nginx Web服務(wù)器的主頁。

測試Kubernetes控制平面

最后,測試Kubernetes控制平面或主服務(wù)器是否能夠維持節(jié)點服務(wù)器上運行的Pod的所需狀態(tài)。要檢查這一點,請使用以下命令來強制刪除運行該應(yīng)用程序?qū)嵗囊粋€容器:

kubectl.exe delete pod helloworld-nginx-67bb76cf46-mks6j

識別出這種不希望的狀態(tài),Kubernetes將立即在容器中運行該應(yīng)用程序的新實例:

在Windows 10上創(chuàng)建單節(jié)點的Kubernetes實施示例

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3510

    瀏覽量

    88230
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    223

    瀏覽量

    8677
收藏 人收藏

    評論

    相關(guān)推薦

    DM642 EVM的視頻縮放示例

    電子發(fā)燒友網(wǎng)站提供《DM642 EVM的視頻縮放示例.pdf》資料免費下載
    發(fā)表于 10-16 10:52 ?0次下載
    DM642 EVM<b class='flag-5'>上</b>的視頻縮放<b class='flag-5'>示例</b>

    使用XDC工具創(chuàng)建TMS320DM6446音頻編碼示例

    電子發(fā)燒友網(wǎng)站提供《使用XDC工具創(chuàng)建TMS320DM6446音頻編碼示例.pdf》資料免費下載
    發(fā)表于 10-15 09:18 ?0次下載
    使用XDC工具<b class='flag-5'>創(chuàng)建</b>TMS320DM6446音頻編碼<b class='flag-5'>示例</b>

    Multi-Scaler IP的Linux示例以及Debug()

    本篇文章介紹了 ZCU106 創(chuàng)建 Video Multi-Scaler IP 的 AMD Vivado? Design Tool 和 Petalinux 工程; ZCU106
    的頭像 發(fā)表于 09-18 10:03 ?276次閱讀
    Multi-Scaler IP的Linux<b class='flag-5'>示例</b>以及Debug(<b class='flag-5'>上</b>)

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團隊(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?295次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

    gprsdemowindows server系統(tǒng)無法運行的解決辦法

    gprsdemowindows server系統(tǒng)無法運行,請按照如下步驟設(shè)置以解決該問題。1. 按下圖進入依次下面界面 2. 點擊“添加”后,會彈出文件瀏覽對話框,找到DTU配置工具的安裝路徑,選擇添加“gprsdemo
    發(fā)表于 07-25 06:03

    為什么無法ModusToolbox Eclipse IDE中創(chuàng)建OTA_over-Etherinet_STTPS示例?

    使用\"lcs-manager-cli -- add-all\" 命令將所有示例拉到此處后,無法 ModusToolbox Eclipse IDE 中創(chuàng)建 OTA_over-Etherinet_STTPS
    發(fā)表于 07-24 06:48

    如何使用Kubeadm命令PetaExpress Ubuntu系統(tǒng)安裝Kubernetes集群

    Kubernetes,通常縮寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應(yīng)用的部署、擴展和管理。有了Kubernetes,您可以輕松地部署、更新和擴展應(yīng)用,而無需擔心底層基礎(chǔ)設(shè)施。
    的頭像 發(fā)表于 07-15 13:31 ?766次閱讀
    如何使用Kubeadm命令<b class='flag-5'>在</b>PetaExpress Ubuntu系統(tǒng)<b class='flag-5'>上</b>安裝<b class='flag-5'>Kubernetes</b>集群

     K8S學(xué)習(xí)教程一:使用PetaExpress云服務(wù)器安裝Minikube 集群

    使得開發(fā)人員能夠本地機器輕松創(chuàng)建一個節(jié)點Kubernetes 集群,從而方便開發(fā)、測
    的頭像 發(fā)表于 07-01 15:41 ?272次閱讀
     K8S學(xué)習(xí)教程一:使用PetaExpress云服務(wù)器安裝Minikube 集群

    win11如何創(chuàng)建ftp?如何進行內(nèi)網(wǎng)穿透

    Win11如何創(chuàng)建FTP Windows 11創(chuàng)建FTP服務(wù)器,需要按照以下步驟進行: 1、打開控制面板:在任務(wù)欄上點擊搜索圖標,輸入“
    的頭像 發(fā)表于 05-30 11:05 ?734次閱讀

    Windows 10創(chuàng)建并運行AMD Vitis?視覺庫示例

    本篇文章將演示創(chuàng)建一個使用 AMD Vitis? 視覺庫的 Vitis HLS 組件的全過程。此處使用的是 Vitis Unified IDE。如果您使用的是舊版 AMD Vitis Software Platform,大多數(shù)步驟相同。
    的頭像 發(fā)表于 05-08 14:02 ?579次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>Windows</b> <b class='flag-5'>10</b><b class='flag-5'>上</b><b class='flag-5'>創(chuàng)建</b>并運行AMD Vitis?視覺庫<b class='flag-5'>示例</b>

    NTDev實現(xiàn)Windows 10百秒快速安裝

    開發(fā)者NTDev曾多次展現(xiàn)其對Windows 10Windows 11極致精簡的技術(shù)實力,然而他們并非以實際應(yīng)用為目標進行Windows系統(tǒng)的瘦身工作,而是以此驗證他們的操作能力。
    的頭像 發(fā)表于 02-19 14:22 ?777次閱讀

    Kubernetes Gateway API攻略教程

    Kubernetes Gateway API 剛剛 GA,旨在改進將集群服務(wù)暴露給外部的過程。這其中包括一套更標準、更強大的 API資源,用于管理已暴露的服務(wù)。在這篇文章中,我將介紹 Gateway
    的頭像 發(fā)表于 01-12 11:32 ?782次閱讀
    <b class='flag-5'>Kubernetes</b> Gateway API攻略教程

    FPGA? 開搞!

    。 該工具鏈使用 Yosys 和 OpenFPGALoader 等開源工具,并與 Cologne Chip 合作開發(fā)實施和比特流生成工具。設(shè)計輸入方面,工程師可以使用 Verilog、VHDL(通過
    發(fā)表于 01-11 00:52

    Kubernetes RBAC:掌握權(quán)限管理的精髓

    Kubernetes RBAC(Role-Based Access Control)是 Kubernetes 中一項關(guān)鍵的安全功能,它通過細粒度的權(quán)限控制機制,確保集群資源僅被授權(quán)的用戶或服務(wù)賬號訪問。
    的頭像 發(fā)表于 12-25 09:43 ?420次閱讀

    如何在LoRaWAN網(wǎng)關(guān)的內(nèi)置NS創(chuàng)建應(yīng)用與節(jié)點設(shè)備

    本文章將說明如何在LoRaWAN網(wǎng)關(guān)的內(nèi)置NS創(chuàng)建應(yīng)用與節(jié)點設(shè)備,配置安信可Ra-08模塊連接至網(wǎng)關(guān)NS服務(wù),實現(xiàn)數(shù)據(jù)發(fā)送與接收。注: 該教程僅適用于支持Class B模式通訊的網(wǎng)關(guān)。
    的頭像 發(fā)表于 12-16 16:18 ?1555次閱讀
    如何在LoRaWAN網(wǎng)關(guān)的內(nèi)置NS<b class='flag-5'>創(chuàng)建</b>應(yīng)用與<b class='flag-5'>節(jié)點</b>設(shè)備