0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Harborをコピペでインストールする in TKG2.1

Last updated at Posted at 2023-04-03

姉妹記事はこちら。vSphere with TanzuのWorkload Cluster上にHarborを立てる
姉妹記事はTKG1.6ベースで書いていて、Harborを立てる際にコピペしてよく使っていた。
今回はそれをTKG2.1向けにアップデートしたのがこのメモ。
細かいところで小さな差分はあるが、ほぼほぼ変わっていない。

※4/13訂正
古いtanzuコマンド(v0.25.4)で実施していたため、v2.1.0のtanzuコマンド(v0.28.0)向けに更新した。

前提

以下を前提とする。

  • TKGのWorkload Clusterが構築済み(今回はStandalone版TKG2.1.0を利用)
  • type: LoadBalancerが利用可能
  • Carvelツールをインストール済み
  • kubectl, yq, tanzuコマンドがインストール済み
  • tanzu login実行済み

type: LoadBalancerはなくても進めることが可能だが、ここでは前提とした。

導入

Tanzu Repositoryの導入

アップデートの検証をしたいので、TKG2.1.1ではなくTKG2.1.0でインストールする。

export TKG_VER=2.1.0
export TKG_REPO=projects.registry.vmware.com/tkg/packages/standard/repo:v${TKG_VER}

TanzuPackageのリポジトリを追加する。他のTanzuPackageをインストールしている人は省略可能。

tanzu package repository add tanzu-standard --url $TKG_REPO --namespace tkg-system

cert-managerのインストール

利用可能なバージョンを確認する。(省略可能)

tanzu package available list cert-manager.tanzu.vmware.com -A

cert-managerをインストールする。package指定のオプション名が変わり、--create-namespaceが使えなくなっている。

export NAMESPACE=my-packages
export CERT_MANAGER_VER='1.7.2+vmware.3-tkg.1'
kubectl create ns $NAMESPACE
tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace $NAMESPACE --version $CERT_MANAGER_VER

Contourのインストール

利用可能なバージョンを確認する。(省略可能)

tanzu package available list contour.tanzu.vmware.com -A

Contourの設定ファイルを生成する。なお設定ファイルの出典元はこちらtypeLoadBalancerに書き換えている。

cat << EOF > ./contour-data-values.yaml
---
infrastructure_provider: vsphere
namespace: tanzu-system-ingress
contour:
 configFileContents: {}
 useProxyProtocol: false
 replicas: 2
 pspNames: "vmware-system-restricted"
 logLevel: info
envoy:
 service:
   type: LoadBalancer
   annotations: {}
   nodePorts:
     http: null
     https: null
   externalTrafficPolicy: Cluster
   disableWait: false
 hostPorts:
   enable: true
   http: 80
   https: 443
 hostNetwork: false
 terminationGracePeriodSeconds: 300
 logLevel: info
 pspNames: null
certificates:
 duration: 8760h
 renewBefore: 360h
EOF

Contourをインストールする。

export NAMESPACE=my-packages
export CONTOUR_VER=1.22.3+vmware.1-tkg.1
tanzu package install contour \
--package contour.tanzu.vmware.com \
--version $CONTOUR_VER \
--values-file contour-data-values.yaml \
--namespace $NAMESPACE

Harborのインストール

利用可能なバージョンを確認する。(省略可能)

tanzu package available list harbor.tanzu.vmware.com -A

バージョンを環境変数に格納する。

export HARBOR_VER=2.6.3+vmware.1-tkg.1

carvelツールとyqがない場合はインストールする。

mkdir local-bin/
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
export PATH=$PWD/local-bin/:$PATH
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && sudo chmod +x /usr/bin/yq

パスワードを自動で設定するスクリプトと設定ファイルをHarborのイメージから抜き出して実行し、設定ファイルを書き換える。なおこの際にバージョン内の"+"は"_"に置換すること。

imgpkg pull -b projects.registry.vmware.com/tkg/packages/standard/harbor:v$(echo  $HARBOR_VER|sed "s/+/_/") -o /tmp/harbor
cp /tmp/harbor/config/values.yaml ./harbor-data-values.yaml 
bash /tmp/harbor/config/scripts/generate-passwords.sh ./harbor-data-values.yaml

ログインパスワードとドメインを設定する。

export HARBOR_PASSWORD=xxxx
export HARBOR_DOMAIN=harbor.10.151.199.248.sslip.io
sed -i "s/harborAdminPassword: .*/harborAdminPassword: ${HARBOR_PASSWORD}/g" harbor-data-values.yaml
sed -i "s/hostname: .*/hostname: ${HARBOR_DOMAIN}/g" harbor-data-values.yaml

コメントを削除する。

yq -i eval '... comments=""' harbor-data-values.yaml

作成したファイルを使ってインストールする。

export NAMESPACE=my-packages
tanzu package install harbor \
--package harbor.tanzu.vmware.com \
--version $HARBOR_VER \
--values-file harbor-data-values.yaml \
--namespace $NAMESPACE

動作確認

ドメインを/etc/hostsに入れて、ブラウザで確認する。

export HARBOR_DOMAIN=harbor.10.151.199.248.sslip.io
export ENVOY_IP=$(kubectl get svc -n tanzu-system-ingress envoy -o jsonpath={.status.loadBalancer.ingress[0].ip})
echo "$ENVOY_IP $HARBOR_DOMAIN" | sudo tee -a /etc/hosts 

ユーザ名はadmin、パスワードは先程設定したパスワードを利用すれば、無事ログインできることが確認できる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?