ref: https://jzimnowo.medium.com/harbor-keycloak-and-istio-a-good-dance-troupe-6c3520fb87de
本篇是個經驗分享文,作者想要打造一個基於 Kubernetes namespace 的多租戶 Kubernetes 平台。
該平台主要針對的是團隊內不同的 DevOps team,並且每個 Team 都會有自己的下列資源
1. Harbor: Private Container Registry
2. Keycloak: SSO
3. Istio: Service Mesh.
# Harbor
Harbor 是 CNCF 的畢業專案,專注於提供 private container registry,本身除了有友善的操作介面外,也整合了多項常見功能,譬如
1. 基於 OIDC 的授權認證機制
2. 容器安全性掃描
3. Chartmuseum (未來會被移除)
4. 專案管理
透過 OIDC 與專案的機制,能夠很輕鬆的針對不同專案設定不同權限,譬如屬於群組 A 的只能使用 Project A。
此外每個專案本身也有提供 robot account,該 robot account 的目的則是讓整個工作流程更佳簡潔。
如果要於 Kubernetes 中去抓取這些 Private Container Registry,則必須要透過 ImagePullSecret 的物件來描述登入資訊。
為了避免使用個人帳戶來存取,作者推薦每個專案都要準備兩個 Robot Account,這兩個 Robot Account 都只能針對該專案底下的 container 去存取
所以也不用擔心會去存取到其他 Team 的專案。
第一個 robot account 專注於 Pull Image,主要是讓 Kubernetes 內部可以下載 Image 使用。
第二個 robot account 則是給 CI/CD pipeline 使用,讓 pipeline 有能力將新的 image 給推向 Harbor。
前述所說 Harbor 可以基於 OIDC 來滿足認證的機制,作者於團隊中就使用 Keycloak 這個開源來作為一個 OIDC 提供者(另外一個常見的是 Dex)。
文章中有稍微介紹如何於 Keycloak 中創立一個 Client 的物件,並且於 Harbor 如何設定。
如果團隊有這個需求的可以看一下要如何操作。
文章最後探討使用這三個專案的一些經驗與痛點,有興趣的可以閱讀全文參考
istio介紹 在 軟體開發學習資訊分享 Facebook 的最佳解答
Istio 是近年來最受關注的框架( frameworks )之一! 如果你以前曾用過 Kubernetes,那麼你將希望學習 Istio! 有了這個實作的課程,你將能夠獲得執行自己的 Istio 服務網格( Service Meshes )的經驗。
你可以在你自己的電腦上執行這個課程,使用 Minikube (需要 8Gb 的主機記憶體) – 你不需要一個雲端供應商,雖然你也可以在那裡執行這個課程 – 只要你可以執行 Kubernetes的任何地方!
在簡單介紹了 Isito 是什麼之後,我們直接進入了一個實踐演示,在這裡你將體驗到 Istio 是如何在現場專案中解決難題。
從這 12 小時的課程,你會學到
✅什麼是服務網格( Service Meshes )?
✅什麼是 Istio?
✅如何在本地執行 Istio?
✅什麼是特使代理( Envoy Proxies )?
✅Istio 控制面板( control plane )與資料面板( data plane )
✅使用 Kiali 視覺化叢集( Cluster )
✅使用 Jaeger 的分散式追蹤
✅使用 Grafana 監控指標( metrics )
✅什麼是 Istio VirtualServices 和 DestinationRules?
✅如何佈署 Canaries (中文字意是金絲雀,它們是什麼!)
✅如何佈署“Dark Releases”(“黑暗釋放”)
✅Istio 閘道器( Gateways )
✅如何利用故障注入( Fault Injection )測試系統的恢復能力
https://softnshare.com/istio-hands-on-for-kubernetes/
istio介紹 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
Cloud Native 這個詞近年來非常熱門,CNCF 甚至也有針對這個詞給出了一個簡短的定義,然而對於每個使用者來說,要如何實踐這個定義則是百家爭鳴。我認為很認真地去探討到底什麼樣才算 Cloud Native 其實就跟很認真的探討什麼是 DevOps 一樣,就是一個沒有共識,沒有標準答案的問題。
本篇文章從 CNCF 的定義衍伸出 Cloud Native 帶來的優勢,並且針對這個領域介紹了十三種不同面向的科技樹,每個科技樹也都介紹了幾個常見的解決方案。
好處:
1. Speed
作者認為 Cloud Native 的應用程式要具有快速部署與快速開發的特性,擁有這些特性才有辦法更快地去根據市場需求而上線面對。眾多的雲端廠商都提供不同的解決方案讓部署應用程式愈來愈簡單,而 Cloud Native 相關的工具則是大量採用抽象化的方式去描述這類型的應用程式,讓需求可能更簡單與通用的部署到不同環境中。
2. Scalability and Availability
Cloud Native 的應用程式應該要可以無痛擴張來對面不論是面對一百個或是一百萬個客戶。底層所使用的資源應該都要根據當前的需求來動態配置,避免無謂的金錢成本浪費。此外自動化的 Failover 或是不同類型的部署策略(藍綠/金絲雀..等)也都可以整合到 Cloud native 的工具中。
3. Quality
Cloud Native 的應用程式建置時應該要保持不變性,這特性使得應用程式本身能夠提供良好的品質一致性。此外大部分的 Cloud Native 工具都是開放原始碼專案,這意味者使用時比較不會遇到 vendor lock-ins 的問題。
以下是作者列出來認為 Cloud Native 生態系中不可或缺的十三種面向,以及該面向中幾個知名專案。
相關領域
1. Microservices (Node.js/Kotlin,Golang)
2. CI/CD (Gitlab CICD/ Github Actions)
3. Container (Docker/Podmna/LXD)
4. Container Orchestration (Kubernetes/Google Cloud Run)
5. Infrasturcutre as Code (Terraform/Pulumi)
6. Secrets (Vault /Sealed Secrets)
7. Certificates (cert-manager/Google managerd certificates)
8. API Gateway (Ambassador/Kong)
9. Logging (EKF/Loki)
10. Monitoring (Prometheus/Grafana/Datadog)
11. Alerting (Prometheus Alertmanager/Grafana Alerts)
12. Tracing (Jaeger/Zipkin)
13. Service Mesh (Istio/Consul)
https://medium.com/quick-code/how-to-become-cloud-native-and-13-tools-to-get-you-there-861bcebb22bb
istio介紹 在 Google Developers Groups Taiwan - Facebook 的推薦與評價
GDG Cloud Taipei (GCPUG Taipei) 今晚在Google 101 大樓辦公室舉辦社群活動,由鈦坦科技的William Yeh 為大家介紹Istio #GoogleCloud #GDG #GDGCloud ... ... <看更多>
istio介紹 在 kk8s-book/26.istio-info.md at master - GitHub 的推薦與評價
Istio 初略介紹. 關於Istio. 介紹** Istio **,就不得不提到服務網格ServiceMesh,ServiceMesh是基於為服務架構下的通訊網絡架構。 ServiceMesh 會隨著微服務架構的 ... ... <看更多>
istio介紹 在 Istio 簡介 - 小信豬的原始部落 的推薦與評價
Architecture. Istio Gateway 可以有多個,而接收的流量是來自於Istio ingressgateway service. Istio ingressgateway service 是由Istio profile 所 ... ... <看更多>
相關內容