マンションで共通の回線を使っているものの、しょっちゅう Port unrechable でパケロスする ポート足りてない疑惑があるので外にプロキシを建てたくなった。
k8sクラスタを運用していてそこの上で動かせると管理が楽なので動かしてみた ついでにhpaの設定とかもしてみた。自分一人だと負荷がかからないので多分スケールすることはない。 ググって出てくる情報がすくなかったので備忘録
まず外に置く関係でbasic認証は必須になるので以下のコマンドで用意する
htpasswd -c passwords neko
これで生成された内容をconfigmapで指定します
https://github.com/Im-neko/helm-charts/tree/main/charts/squid
cm.yamlのpasswordsを準備で用意した認証情報に書き換える
apiVersion: v1
kind: ConfigMap
metadata:
name: squid-config
data:
squid.conf: |
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128
passwords: |
neko:$apr1$Ev1wvaWR$UPshePkqojOo2Tx8kVtRH
tcpでリクエストを渡してあげないと上手くいかなかったので設定する
# -- TCP service key-value pairs
## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md
##
tcp:
3128: "internal-service/squid:3128"
それぞれingress-nginx, squidのチャートがあるディレクトリで
helm upgrade ingress-nginx ingress-nginx
helm upgrade --install squid squid
# proxy無し
curl ifconfig.me
# proxy有り
curl ifconfig.me -x http://neko:[email protected]:3128