Home avatar

仍在整理中的筆記

Istio 設定 http request header 來讓內部容器使用 https

當網路架構在以下狀況時

text

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 中的解決方式,文章末端也有一些我覺得可能有幫助的一些資料來源讓大家參考。

Kubernetes 安裝筆記 part.1 : 環境準備

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 等工具安裝錯誤的解決方案

使用 ArgoCD 建立 Kubernetes 基礎建設

當一個叢集建立好之後總會需要安裝 Metrics 相關服務,這邊使用 ArgoCD 建立相關應用程式,讓 Cluster 加入之後就可以直接用 ArgoCD 部屬 Metrics-Server / Prometheus-adapter 等服務。

  1. CLI Command - 設定 Cluster/加入 Repository
  2. Metrics-Server 的 Application 設定 yaml
  3. Prometheus-adapter 的 Application 設定 yaml