🕯️
[memo] M1MacのMinikube上にharborを構築してDockerHubのProxyしてみる
概要
minikubeでharborを構築した際に主にingress周りで詰まったのでメモ。
注:コマンドは手で打ってる&検証してないので正しく動く保証はない
環境
Machine
Core: Apple M1 Pro
OS: Ventura 13.4.1
command
minikube: v1.31.1
helm: v3.12.3
harborの構築
minikubeの開始
minikube start
ingressのaddonを適用
minikube addons enable ingress
harbor用namespace作成
kubectl create ns harbor
harborのhelmレポ取得
helm repo add harbor https://helm.goharbor.io
harborの構築
helm install harbor harbor/harbor -n harbor
確認
kubectl get ing -n harbor
以下のような出力があれば大丈夫そう
NAME CLASS HOSTS ADDRESS PORTS AGE
harbor-ingress nginx core.harbor.domain 192.168.49.2 80, 443 78m
harbor-ingress-notary nginx notary.harbor.domain 192.168.49.2 80, 443 78m
接続
以下を/etc/hosts
に追記
127.0.0.1 core.harbor.domain
ingressを利用可能にするためのコマンド。(注:接続中はこのコマンドを終了しない)
minikube tunnel
https://core.harbor.domain/harbor/ にアクセス
user: admin
pass: Harbor12345
でログイン
新規EndPoint作成
Proxy用Project作成
(以降minikube tunnel
とは別のterminalで)構築したレジストリにログイン
user,passwordは上記と同じ
docker login core.harbor.domain
HarborをProxyとしてPull
docker pull core.harbor.domain/proxy_cache/alpine
Projectにalpineのレポジトリが作成されてイメージがキャッシュされる!!
詰まったところ
いろんな記事にはetc/hosts
に追記するIPアドレスはkubectl get ing -n harbor
で確認できるものを追記するよう書かれていたが、自分の環境では接続できなかった。
代わりに127.0.0.1
として、minikube tunnel
をすることで接続できた。
その他やったこと
-
M1MacのMinikubeでIngressを使う方法を試してみたが、
minikube addons enable ingress
のエラーが解決できなかった - Docker DesktopのDocker Engineに
"insecure-registries" : ["127.0.0.1", "0.0.0.0"]
という設定を追記したが、効果はない気がする。(試しに消してみたが今の所docker login
できる)
Discussion