<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文搞定完整的云原生邊緣基礎(chǔ)設(shè)施堆棧

          共 6300字,需瀏覽 13分鐘

           ·

          2020-09-29 20:56

          作者簡介

          Janakiram MSV是Janakiram & Associates的首席分析師,也是國際信息技術(shù)學(xué)院的兼職教師。他也是Google Qualified Developer、亞馬遜認(rèn)證解決方案架構(gòu)師、亞馬遜認(rèn)證開發(fā)者、亞馬遜認(rèn)證SysOps管理員和微軟認(rèn)證Azure專業(yè)人員。


          Janakiram是云原生計(jì)算基金會(huì)的大使,也是首批Kubernetes認(rèn)證管理員和Kubernetes認(rèn)證應(yīng)用開發(fā)者之一。他曾在微軟、AWS、Gigaom Research等知名公司工作。


          之前的文章中,我們了解了云原生邊緣計(jì)算堆棧的核心構(gòu)件:K3s、Project Calico和Portworx。


          本篇教程將帶你了解在邊緣集群上安裝和配置這一軟件,該集群是一組運(yùn)行Ubuntu 18.04的英特爾NUC迷你電腦。這種基礎(chǔ)設(shè)施可用于在邊緣運(yùn)行可靠、可擴(kuò)展和安全的AI和IoT工作負(fù)載。


          為Calico自定義K3s安裝


          默認(rèn)情況下,K3s使用Flannel作為容器網(wǎng)絡(luò)接口(CNI)運(yùn)行,使用VXLAN作為默認(rèn)后端。在本文中,我們將用Calico代替它。


          要將K3s與網(wǎng)絡(luò)堆棧Calico集成起來,我們需要自定義安裝以啟動(dòng)CNI支持。


          請注意在邊緣你至少需要3個(gè)節(jié)點(diǎn)運(yùn)行在K3s集群上以保證高可用。


          在第一個(gè)指定為服務(wù)器的節(jié)點(diǎn)上,運(yùn)行以下命令:


            export K3S_TOKEN="secret_edgecluster_token"


          export INSTALL_K3S_EXEC="--flannel-backend=none --disable=traefik --cluster-cidr=172.16.2.0/24 --cluster-init"


          curl -sfL https://get.k3s.io | sh -


          如果在你的網(wǎng)絡(luò)中172.16.2.0/24已經(jīng)被占用,那么你必須選擇一個(gè)不同的pod網(wǎng)絡(luò)CIDR來代替上述命令中的172.16.2.0/24。


          在其余server節(jié)點(diǎn)上,運(yùn)行以下命令。請注意,我們在安裝程序中添加--server開關(guān),將其指向第一個(gè)節(jié)點(diǎn)的IP地址。


          export K3S_TOKEN="secret_edgecluster_token"
          export INSTALL_K3S_EXEC="--flannel-backend=none --disable=traefik --cluster-cidr=172.16.2.0/24 --server https://10.0.0.60:6443"
          curl -sfL https://get.k3s.io | sh -


          運(yùn)行以下命令配置worker節(jié)點(diǎn)或agent:


          export K3S_URL=https://10.0.0.60:6443
          export K3S_TOKEN="secret_edgecluster_token"
          curl -sfL https://get.k3s.io | sh -


          使用K3s server的IP地址代替K3S_URL


          這一步結(jié)束之后,你應(yīng)該擁有一個(gè)帶有4個(gè)節(jié)點(diǎn)的集群。


          由于網(wǎng)絡(luò)尚未配置,因此沒有一個(gè)節(jié)點(diǎn)是ready的。只要我們將Calico specs應(yīng)用到集群,這些節(jié)點(diǎn)的狀態(tài)將會(huì)變成ready。



          在進(jìn)行下一步之前,先從其中一個(gè)server節(jié)點(diǎn)復(fù)制/etc/rancher/k3s/k3s.yaml到你的本地工作站并將KUBECONFIG環(huán)境變量指向它。別忘了在YAML文件中更新master URL。這提供了通過kubectl CLI對(duì)K3s集群的遠(yuǎn)程訪問。


          在多節(jié)點(diǎn)K3s集群上安裝Calico


          我們將通過下載Calico manifests并修改它們來啟動(dòng):


          wget https://docs.projectcalico.org/manifests/tigera-operator.yaml


          wget https://docs.projectcalico.org/manifests/custom-resources.yaml


          在K3s安裝過程中,打開custom-resources.yaml文件并更改CIDR到與上文提到的相同的IP地址段。


          應(yīng)用兩個(gè)manifest為K3s集群配置Calico網(wǎng)絡(luò)


          kubectl create -f tigera-operator.yaml
          kubectl create -f custom-resources.yaml


          幾分鐘內(nèi),集群狀態(tài)將變?yōu)閞eady



          最后,在calico-system命名空間中修改cni-config configmap以啟用IP轉(zhuǎn)發(fā):


          kubectl edit cm cni-config -n calico-system


          改變以下所示的值,啟用IP轉(zhuǎn)發(fā):


          "container_settings": {              "allow_ip_forwarding": true          }


          驗(yàn)證Calico是否啟動(dòng)并使用以下命令運(yùn)行:


          kubectl get pods -n calico-system



          在K3s上安裝Portworx


          Portworx 2.6及以上版本支持K3s,安裝流程與其他Kubernetes發(fā)行版并無差異。如果你不太了解,可以根據(jù)以下鏈接中的教程安裝Portworx:

          https://thenewstack.io/tutorial-install-and-configure-portworx-on-a-bare-metal-kubernetes-cluster/


          如果你手邊沒有etcd集群,你可以在PX-Central安裝向?qū)е羞x擇內(nèi)置的KVDB。



          我選擇了附加到每個(gè)主機(jī)的NVMe磁盤作為存儲(chǔ)選項(xiàng)。你可以根據(jù)你的存儲(chǔ)配置進(jìn)行修改。



          K3s最重要的前提條件之一是支持CSI,所以請確保你在最后一步選擇了Enable CSI選項(xiàng)。



          復(fù)制規(guī)范并將其應(yīng)用到你的集群中



          幾分鐘內(nèi),在K3s上的Portworx集群將會(huì)啟動(dòng)并運(yùn)行:


          kubectl get pods -l name=portworx -n kube-system



          CSI驅(qū)動(dòng)作為一個(gè)sidecar連接到DaemonSet中的每一個(gè)Pod,這就是為什么我們在Pod中看到兩個(gè)容器。


          SSH進(jìn)入其中一個(gè)節(jié)點(diǎn),用下面的命令檢查Portworx集群狀態(tài)。


          sudo /opt/pwx/bin/pxctl status



          我們現(xiàn)在已經(jīng)擁有了一個(gè)基于K3s、Calico和Portworx的邊緣基礎(chǔ)設(shè)施,并且配置完整。在下一篇文章中,我們將部署一個(gè)運(yùn)行在邊緣的AIoT工作負(fù)載。保持關(guān)注喲


          原文鏈接:

          https://thenewstack.io/tutorial-configure-cloud-native-edge-infrastructure-with-k3s-calico-portworx/


          推薦閱讀

          從架構(gòu)到部署,全面了解K3s

          如何設(shè)置一個(gè)生產(chǎn)級(jí)別的高可用etcd集群

          如何安裝一個(gè)高可用K3s集群?



          About k3s


          k3s 是目前全球用戶量最大的 CNCF 認(rèn)證輕量級(jí) K8S 發(fā)行版。自 2019 年 3 月發(fā)布以來,備受全球開發(fā)者們關(guān)注。至今,GitHub Star數(shù)已超過 14,000,成為了開源社區(qū)最受歡迎的邊緣計(jì)算 K8S 解決方案。


          k3s 專為在資源有限的環(huán)境中運(yùn)行 Kubernetes 的研發(fā)和運(yùn)維人員設(shè)計(jì),將滿足日益增長的在邊緣計(jì)算環(huán)境中運(yùn)行在 x86、ARM64 和 ARMv7 處理器上的小型、易于管理的 Kubernetes 集群需求。k3s 的發(fā)布,為開發(fā)者們提供了以“Rancher 2.X + k3s”為核心的從數(shù)據(jù)中心到云到邊到端的 K8S 即服務(wù)(Kubernetes-as-a-Service),推動(dòng) Kubernetes Everywhere。

          掃碼添加k3s中文社區(qū)助手

          加入官方中文技術(shù)社區(qū)

          官網(wǎng):https://k3s.io

          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  啪啪啪国产 | 操逼视频伊人网 | 国语对白av | www.十八禁 | 五月天堂婷婷 |