最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

在邊緣設(shè)備上安裝 Korifi 以管理 K3s

2023-07-10 10:44 作者:岱軍  | 我要投稿

通過安裝 Cloud Foundry Korifi 抽象層,可以更輕松地在邊緣設(shè)備和物聯(lián)網(wǎng)設(shè)備上啟用 Kubernetes 。

翻譯自 Install Korifi to Manage K3s at the Edge 。

Cloud Foundry Korifi 是將 Cloud Foundry 抽象層移植到 Kubernetes 集群中的熟悉工具。它為 Kubernetes 帶來了多租戶體驗,并幫助應用開發(fā)人員輕松使用集群。它提供了一個回答社區(qū)中許多人提出的問題的解決方案:“ Cloud Foundry 用戶遷移到 Kubernetes 的最佳方式是什么?”

Korifi 通過在 Kubernetes 集群中安裝來實現(xiàn)功能。盡管純粹的 Kubernetes 是理想的選擇,但每個托管云提供商在 Kubernetes 上有一些細微的變化。因此,我們正在創(chuàng)建針對每個云提供商的特定教程。盡管這可能意味著又一個開源項目的分散,但每個云提供商都有其特定用途的優(yōu)勢,例如用于生產(chǎn)環(huán)境或內(nèi)部團隊使用等。因此,編寫指南以在每個提供商上安裝和使用 Korifi 是有意義的。

因此,現(xiàn)在我們介紹第一個關(guān)于在流行的輕量級 K3s 上部署 Korifi 的教程。

K3s 是一個輕量級的 Kubernetes 發(fā)行版,專為資源受限的環(huán)境(如邊緣計算或物聯(lián)網(wǎng)設(shè)備)而設(shè)計。最初, K3s 由 Rancher Labs 開發(fā), Rancher Labs 是一家專門提供 Kubernetes 管理解決方案的公司。在 2020 年, SUSE 收購了 Rancher Labs ,而 K3s 的開發(fā)和維護現(xiàn)在由開源社區(qū)推動。K3s 取得了顯著的進展,并且擁有不斷增長的貢獻者社區(qū)。它已經(jīng)發(fā)展成為一個成熟且穩(wěn)定的項目,定期發(fā)布新版本,最新版本是 25.10-rc1+k3s1 。

K3s 的小型占用空間使其能夠在計算能力較低的設(shè)備上運行,非常適用于物聯(lián)網(wǎng)部署。K3s 還非常適用于資源有限且連接可能不穩(wěn)定的邊緣計算場景。它使開發(fā)人員能夠?qū)?Kubernetes 集群部署在靠近邊緣設(shè)備的位置,減少延遲并增強數(shù)據(jù)處理能力。

在本教程中,我們將介紹如何在 K3s 集群上安裝 Cloud Foundry Korifi 。我們將首先安裝 Kubernetes (以K3s的形式),然后將 Korifi CRD 安裝到集群中。教程的最后一步將是部署一個應用程序到集群中的示例。

但首先,對 Cloud Foundry Korifi 進行更多介紹。Korifi 是由 Cloud Foundry 社區(qū)構(gòu)建的開源軟件。它是基于對在 Kubernetes 上構(gòu)建內(nèi)部開發(fā)平臺的需求而誕生的。Korifi 的目的是在 Kubernetes 上提供一個更高級的抽象層,最終使開發(fā)人員能夠?qū)W⒂跇?gòu)建應用程序。它是一個完全開源的工具,旨在用于在 Kubernetes 上部署應用程序,并提供自動化的網(wǎng)絡(luò)、安全、可用性等功能。現(xiàn)在,讓我們開始吧。

先決條件:請安裝以下工具以開始。

  • kubectl

  • cf?CLI v8.5或更高版本

  • Helm

第 1 步:安裝 K3s 。

這些指令在快速入門指南中已經(jīng)很清楚了。然而,我們需要配置一些額外的參數(shù)來適應我們的安裝。--disable traefik?參數(shù)被傳遞給安裝腳本,以禁用 Traefik Ingress Controller 的安裝。這是因為我們將在稍后的步驟中安裝 Contour 進行 Ingress 控制,而兩者會產(chǎn)生沖突。

腳本傳遞的第二個參數(shù)是?--write-kubeconfig-mode 644?。這將設(shè)置生成的 kubeconfig 文件的文件權(quán)限模式為 644 ,這意味著所有者具有讀寫權(quán)限,而其他用戶只有讀取權(quán)限。K3s 安裝過程中默認不執(zhí)行此操作。如果跳過此步驟,我們將無法使用 kubectl 與集群連接,而這是后續(xù)操作所需的。

Step 2: 設(shè)置環(huán)境變量

這只是為了方便起見的一步。我們可以在后續(xù)步驟中使用環(huán)境變量。

Step 3: 安裝 Cert Manager

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0/cert-manager.yaml

Cert Manager 通過一個 kubectl apply 命令進行安裝,路徑中引用了最新版本的 yaml 定義文件。

Cert Manager 是一個專為 Kubernetes 集群設(shè)計的開源證書管理解決方案。它幫助自動化管理和頒發(fā) X.509 證書,用于保護 Kubernetes 環(huán)境中各個組件和服務(wù)之間的通信。

Cert Manager 項目通過自定義資源定義(CRD)擴展了 Kubernetes ,用于定義與證書相關(guān)的對象,如 Certificate、CertificateRequest 和 ClusterIssuer 。使用 Cert Manager,Kubernetes 用戶可以簡化集群中 TLS 證書的管理。它確保所有必要的組件,如入口控制器、Pod和服務(wù),都具有有效和最新的證書,從而增強 Kubernetes 環(huán)境的安全性和可靠性。

Step 4: 安裝 kpack

kpack 是一個與 Kubernetes 集成的開源項目,用于提供容器本地構(gòu)建過程。它使用 Cloud Native Buildpacks 來導出 OCI 兼容的容器。通過使用 kpack ,開發(fā)人員可以采用云原生的方式構(gòu)建和打包應用程序,以便在 Kubernetes 集群上部署。

kpack 通過一個 kubectl apply 命令進行安裝,路徑中引用了最新版本的 yaml 定義文件。

kubectl apply -f https://github.com/pivotal/kpack/releases/download/v0.11.0/release-0.11.0.yaml

Step 5: 創(chuàng)建 Root Namespaces

cat <<EOF | kubectl apply -f -

apiVersion: v1
kind: Namespace
metadata:
?name: $ROOT_NAMESPACE
?labels:
? ? pod-security.kubernetes.io/audit: restricted
? ? pod-security.kubernetes.io/enforce: restricted

EOF
cat <<EOF | kubectl apply -f -

apiVersion: v1
kind: Namespace
metadata:
?name: $KORIFI_NAMESPACE
?labels:
? ? pod-security.kubernetes.io/audit: restricted
? ? pod-security.kubernetes.io/enforce: restricted
EOF

在這一步中,我們創(chuàng)建了 cf 和 korifi 命名空間。

Step 6: 安裝 Contour

kubectl apply -f https://projectcontour.io/quickstart/contour.yaml

Contour 是一個基于 Envoy 代理構(gòu)建的用于 Kubernetes 的開源 Ingress 控制器。Ingress 控制器是 Kubernetes 中管理集群內(nèi)服務(wù)的入站網(wǎng)絡(luò)流量的資源。它充當網(wǎng)關(guān),為集群內(nèi)運行的服務(wù)提供外部訪問。Contour 專注于提供用于管理 Kubernetes 中的 Ingress 的高級功能和能力。

Step 7: 創(chuàng)建一個用于訪問容器注冊表的密鑰

kubectl --namespace "cf" create secret docker-registry image-registry-credentials --docker-server="us-central1-docker.pkg.dev" --docker-username="_json_key" --docker-password "$(awk -v RS= '{$1=$1}1' ~/Downloads/summit-labs-8ff7123608fe.json)"

容器注冊表用于管理在集群上部署的所有容器。在構(gòu)建工作流程結(jié)束時,將包上傳到容器注冊表,并在運行工作流程開始時從注冊表中拉取容器。在這種情況下,我們使用 Google Artifact Registry 來推送和拉取鏡像。

也可以使用其他容器注冊表(如 Docker Hub、Github 容器注冊表等)。請參閱安裝文檔獲取具體信息。

Step 8: 安裝 Korifi

helm install korifi https://github.com/cloudfoundry/korifi/releases/download/v0.7.1/korifi-0.7.1.tgz --namespace="korifi" --set=global.generateIngressCertificates=true --set=global.rootNamespace="cf" --set=global.containerRegistrySecret="image-registry-credentials" --set=adminUserName="system:admin" --set=api.apiServer.url="api.localhost" --set=global.defaultAppDomainName="apps.localhost" --set=global.containerRepositoryPrefix="us-central1-docker.pkg.dev/summit-labs/korifi/korifi-" --set=kpackImageBuilder.builderRepository="us-central1-docker.pkg.dev/summit-labs/korifi/kpack-builder" --wait

使用官方 Helm chart 安裝 Korifi 。每個版本都有對應的 Helm chart ,由社區(qū)進行更新。在此處可以找到所有可用于自定義 Helm chart 的選項。

Step 9: 通過 Cloud Foundry API 進行身份驗證

cf api https://api.localhost --skip-ssl-validation
cf login

身份驗證 Cloud Foundry API 需要兩個步驟。第一步是設(shè)置 API 的 URL 。第二步是登錄命令。登錄命令會提示您選擇要使用的不同用戶身份。選擇默認身份以繼續(xù)。

Step 10: 創(chuàng)建 Org 和 Space

cf create-org acme-corp
cf target -o acme-corp
cf create-space -o acme-corp foo-bu && cf target -o acme-corp -s foo-bu

在 Cloud Foundry 中:

  • target 是設(shè)置 Cloud Foundry 實例中的活動組織和空間。

  • 組織(org)是用戶、應用程序和服務(wù)的邏輯分組,提供管理和協(xié)作控制。

  • 空間(space)是組織內(nèi)的一個子分區(qū),為不同團隊或項目提供隔離和獨立性,用于開發(fā)和管理其應用程序和服務(wù)。

Step 11: 部署應用程序

cf push mighty-monkey -p ~/sandbox/korifi/tests/smoke/assets/test-node-app/

使用單個?cf push?命令將應用程序部署到安裝了 Korifi 的 K3s 實例上。

結(jié)論

Cloud Foundry 社區(qū)的目標是使 Korifi 成為處理大量應用程序開發(fā)人員并希望使用工具來幫助他們大規(guī)模管理 Kubernetes 集群的運營商的首選工具。Korifi 是基于 Cloud Foundry 數(shù)十年的生產(chǎn)卓越經(jīng)驗構(gòu)建的。在運行 Korifi 的 K3s 實例上,部署到邊緣和運行 Kubernetes 的物聯(lián)網(wǎng)設(shè)備將變得更簡單。


本文使用?文章同步助手?同步



在邊緣設(shè)備上安裝 Korifi 以管理 K3s的評論 (共 條)

分享到微博請遵守國家法律
贵南县| 遵义县| 江城| 武强县| 晋城| 仁寿县| 鄢陵县| 新巴尔虎右旗| 穆棱市| 哈尔滨市| 凉山| 沅陵县| 宁海县| 兴安县| 乌兰县| 东辽县| 黄陵县| 清水河县| 鹿邑县| 白城市| 万山特区| 马尔康县| 哈巴河县| 广丰县| 沾益县| 铜川市| 兴义市| 湖州市| 清水河县| 奈曼旗| 盱眙县| 内黄县| 静乐县| 青田县| 扬中市| 明水县| 嘉峪关市| 双牌县| 定州市| 班戈县| 枞阳县|