ArgoCD install use kustomizaion
使用 kustomization 安裝 ArgoCD,並且利用 patch 來加入 istio 所需要的 Label。
此篇文所使用的安裝設定檔連結:Github
使用 kustomization 安裝 ArgoCD,並且利用 patch 來加入 istio 所需要的 Label。
此篇文所使用的安裝設定檔連結:Github
當網路架構在以下狀況時
Client (get `https://my.domain.com`) -> LB (A10) -> Istio Ingress (TLS Terminating) -> Service (http request schema is http)
由於 Service 端收到的 Http Request 中的協定可能因為憑證管理的方式或其他原因,是會被 A10 或是 Istio Ingress 給過濾掉的。
在這種情況下,可能會導致定義在服務內的一些服務出現錯誤;我實務上碰到的案例是 OAuth OpenIdConnect 的 Redirect Url 在 .Net 6 裡面其實是無法強制複寫成 https 的,加上 A10 那端有被設定強轉,使用 http 的網址並不會通,這時候就會出現錯誤。
以下提供在 Istio 中的解決方式,文章末端也有一些我覺得可能有幫助的一些資料來源讓大家參考。
Istio 官方安裝套件附帶的套件安裝方式,包含各服務的 Istio Ingress Gateway 設定檔。
Kubernetes Master(Control-plane) / Worker 的 Node 環境準備
OS: | CentOs 7 (kernel = 3.10.1) |
K8s: | v1.24.1 (新安裝時預設使用當下的最新版,因此此版本資訊參考用) |
更新時間:
- 2022/06/11 - use containerd / 不使用 docker
- 2022/04/10 - kubelet kubeadm kubectl 等工具安裝錯誤的解決方案
Argo CD 安裝的紀錄
當一個叢集建立好之後總會需要安裝 Metrics 相關服務,這邊使用 ArgoCD 建立相關應用程式,讓 Cluster 加入之後就可以直接用 ArgoCD 部屬 Metrics-Server / Prometheus-adapter 等服務。
前段時間在工作上碰到服務部署後沒辦法連上網路,但是容器重啟後就一切正常。
在查過資料後發現原來是因為 Istio Sidecar Proxy 尚未完成啟動時,後面的服務會無法連上網路的問題,這篇記錄解決辦法。