🕯️

[memo] M1MacのMinikube上にharborを構築してDockerHubのProxyしてみる

2023/08/14に公開

概要

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