k8s サービス アプローチではなく、VIP ベースの例であることを指摘した外部 HTTPS プロキシの使用の主題全体に従いました。しかし、私の場合、Squid は k8s サービス経由でアクセスでき、VIP アドレスではなく FQDN を使用したいと考えています。
設定削除addresses
部分を変更しました:
Squid Istio サービス エントリ:
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: proxy
spec:
hosts:
- squid.external.svc.cluster.local
location: MESH_EXTERNAL
exportTo:
- "."
ports:
- number: 3128
name: tcp
protocol: TCP
外部 Squid パーツをexternal
ns でメッシュ化する:
イカポッド:
ports:
- containerPort: 3128
name: http
protocol: TCP
イカ k8s サービス:
ports:
- name: http
port: 3128
protocol: TCP
targetPort: http
コインターナーからのカーリングsleep
:
HTTPS_PROXY=http://squid.external:3128 curl https://en.wikipedia.org/wiki/Main_Page
スリープサイドカーで結果を返します:
[2021-07-21T06:46:23.938Z] "CONNECT - HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "-" "curl/7.77.0-DEV" "424a0870-af92-4a59-a3af-c8dc91b31512" "en.wikipedia.org:443" "-" - - 192.168.101.185:3128 10.10.2.8:39744 - -
ここで、192.168.101.185 は Squid サービス IP です。
Envoy エラーは、ルートがないことを示していますが、サービスが見つかりました。何が欠けていて、何が間違っていますか? 助けや提案をいただければ幸いです。