1. 概要Kubernetes は、コンテナ化されたアプリケーションの展開、管理、および操作の自動化に使用できる、非常にスケーラブルなコンテナ オーケストレーション プラットフォームです。インターネット接続のない安全な環境や、ネットワーク接続が信頼できない場合など、場合によっては Kubernetes をオフラインでデプロイする必要があることがあります。 Kubernetes のオフライン展開の一般的な手順は次のとおりです。 - Kubernetes バイナリ ファイルを取得します。Kubernetes 公式 Web サイトから Kubernetes バイナリ ファイルをダウンロードし、ローカルで解凍します。
- オフライン イメージを準備する: オフライン環境では、必要なコンテナー イメージをローカルにダウンロードし、ローカル リポジトリに保存する必要があります。 Docker イメージのエクスポート/インポート コマンドまたは Docker レジストリ ミラー ツールを使用して、オンライン環境からイメージをエクスポートし、オフライン環境にインポートできます。
- Kubernetes ノードを構成する: Docker エンジン、kubelet、kubeadm などの必要な依存関係を各ノードにインストールします。Docker オフライン インストーラーを使用して、Docker エンジンをオフライン ノードにインストールできます。
- Kubernetes クラスターを初期化する: kubeadm init コマンドを使用してクラスターを初期化し、必要な構成ファイルと証明書をノードにコピーします。オフライン環境では、kubelet および kubeadm に必要な構成ファイルを各ノードに手動でコピーする必要があります。
- ノードに参加します。kubeadm join コマンドを使用して、新しいノードをクラスターに追加します。オフライン環境では、kubelet および kubeadm 構成ファイルを手動でコピーし、各ノードで kubeadm join コマンドを使用してノードをクラスターに参加させる必要があります。
- アプリケーションをデプロイする: kubectl コマンドを使用して、クラスターにアプリケーションをデプロイし、ローカル リポジトリから必要なコンテナ イメージをプルします。
オフライン環境で Kubernetes をデプロイするには、多少の追加作業が必要ですが、これは可能であり、Kubernetes をデプロイする重要な方法の 1 つです。 2. 事前準備1) ノード情報ノード情報 ホスト名
| IP
| 役割
| オペレーティング·システム
| k8s バージョン
| ローカル-168-182-110
| 192.168.182.110
| マスター、keepalived (VIP: 192.168.182.211)、nfs-server
| セントロス7
| 1.23.6
| ローカル-168-182-111
| 192.168.182.111
| マスター、キープアライブ、NFS クライアント
| セントロス7
| 1.23.6
| ローカル-168-182-112
| 192.168.182.112
| マスター、NFS クライアント
| セントロス7
| 1.23.6
| ローカル-168-182-113
| 192.168.182.113
| ノード、nfsクライアント
| セントロス7
| 1.23.6
|
k8s バージョン: https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG 2) ホスト名を変更し、ホストを構成するホスト名を変更する # 192.168.182.110で実行 hostnamectl設定-ホスト名 ローカル- 168 - 182 - 110
# 192.168.182.111で実行 hostnamectl設定-ホスト名 ローカル- 168 - 182 - 110
# 192.168.182.112で実行 hostnamectl設定-ホスト名 ローカル- 168 - 182 - 110
# 192.168.182.113で実行 hostnamectl設定-ホスト名 ローカル- 168 - 182 - 110 ホストを構成する cat >> / etc / hosts << EOF 192.168 .182 .110ローカル- 168 - 182 - 110 192.168 .182 .111ローカル- 168 - 182 - 111 192.168 .182 .112ローカル- 168 - 182 - 112 192.168 .182 .113ローカル- 168 - 182 - 113 #VIP クラスター-エンドポイント192.168 .182 .211 終了 3) SSH相互信頼を設定する # Enterキーを押し続ける ssh -キージェネレータ
ssh -コピー- id - i ~/ .ssh / id_rsa .pub root@local - 168 - 182 - 110 ssh -コピー- id - i ~/ .ssh / id_rsa .pub root@local - 168 - 182 - 111 ssh -コピー- id - i ~/ .ssh / id_rsa .pub root@local - 168 - 182 - 112 ssh -コピー- id - i ~/ .ssh / id_rsa .pub root@local - 168 - 182 - 113 4) 時刻同期 yum インストール chrony -y systemctl 開始 chronyd systemctl は chronyd を有効にします クロニクソース 5) ファイアウォールをオフにする systemctl 停止 ファイアウォール systemctl ファイアウォールを無効にする 6) スワップをオフにする # 一時的に閉鎖します。スワップを閉じるのは主にパフォーマンス上の考慮のためです スワップオフ- a # このコマンドを使用して、スワップが閉じられているかどうかを確認できます 無料 # 永久に閉店 sed - ri 's/.*swap.*/#&/' / etc / fstab 7) SELinuxを無効にする # 一時閉店 強制0を設定する # 永久に無効にする sed - i 's/^SELINUX=enforcing$/SELINUX=disabled/' / etc / selinux / config 8) iptablesがブリッジトラフィックを検査できるようにするこのモジュールを明示的にロードするには、sudo modprobe br_netfilter を実行し、lsmod | を実行して br_netfilter モジュールがロードされていることを確認します。 grep br_netfilter: sudo modprobe br_netfilter lsmod | grep br_netfilter Linux ノードの iptables がブリッジ トラフィックを正しく認識できるようにするには、sysctl 構成で net.bridge.bridge-nf-call-iptables が 1 に設定されていることを確認します。例えば: 猫<< EOF | sudo tee / etc / modules - .d / k8s .confをロードします かぶせる br_netfilter 終了
sudo modprobeオーバーレイ sudo modprobe br_netfilter
# 必要な sysctl パラメータを設定します。再起動後も変更されません。 猫<< EOF | sudo tee /etc/sysctl.d/k8s.conf ネット.bridge .bridge - nf -呼び出し- iptables = 1 ネット.bridge .bridge - nf -呼び出し- ip6tables = 1 ネット.ipv4 .ip_forward = 1 終了
# 再起動せずにsysctlパラメータを適用する sudo sysctl --system 3. 展開を開始するダウンロードアドレス: https://download.docker.com/linux/static/stable/x86_64/ イメージ、インストール パッケージ、kube-flannel.yml、deploy.yaml などのリソースについては、私の公開アカウント [Big Data and Cloud Native Technology Sharing] をフォローし、[k8s] に返信して入手できます。 1) Dockerをオフラインでインストールする1. ダウンロード # ダウンロード wget https : //.docker.com/linux/static/stable/x86_64/docker-20.10.20.tgzをダウンロード # 解凍 tar - zxvf ドッカー- 20.10 .20 .tgz 2. 解凍したdockerフォルダをすべて/usr/binディレクトリに移動する cp -p docker /* /usr/bin 3. docker起動ファイルを設定する/usr/lib/systemd/system/ディレクトリにdocker.serviceファイルを作成します。 cat > /usr/lib/systemd/system/docker.service << EOF [ユニット] Descriptinotallow = Docker アプリケーション コンテナ エンジン ドキュメント= http://docs.docker.com 後= network .target docker .socket [サービス] タイプ=通知 Envirnotallow =-/ run / flannel / docker 作業ディレクトリ=/ usr / local / bin ExecStart =/ usr / bin / dockerd\ - HTTP : // 0.0.0.0 : 4243 \ -H unix : /// var / run / docker .sock \ --selinux-enabled=false \ --log-opt 最大サイズ=1g ExecReload =/ bin / kill -s HUP $MAINPID # Limit *がゼロでない場合、アカウンティングオーバーヘッドによりパフォーマンスの問題が発生します # カーネル内。コンテナのローカルアカウンティングを行うには、cgroups を使用することをお勧めします。 LimitNOFILE =無限大 LimitNPROC =無限大 LimitCORE =無限大 # systemd バージョンがサポートしている場合は、TasksMax のコメントを解除します。 # このバージョンをサポートするのは systemd 226以上のみです。 #TasksMax =無限大 タイムアウト開始秒= 0 # systemd が docker コンテナの cgroups をリセットしないように delegate yesを設定します 委任=はい # cgroup内のすべてのプロセスではなく、 docker プロセスのみを強制終了します キルモード=プロセス 再起動=オン-失敗 [インストール] WantedBy =マルチユーザー.target 終了 4. dockerサービスを起動する systemctlデーモン-reload
# 起動時に自動的に開始するように設定し、サービスをすぐに開始します--now: サービスをすぐに開始します systemctl enable --now docker
# コンテナのステータスを表示 systemctl ステータス docker 5. イメージダウンロードアクセラレータとcgroupdriverを構成する cat > /etc/docker/daemon.json << EOF { "レジストリミラー" : [ "http://hub-mirror.c.163.com" ] , "exec-opts" : [ "native.cgroupdriver=systemd" ] } 終了
systemctl dockerを再起動します 2) kubeadm、kubelet、kubectlのオフラインインストール1. ダウンロードダウンロードアドレス: https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG https://dl.k8s.io/v1.23.6/kubernetes-server-linux-amd64.tar.gzを取得します。
tar - xf kubernetes -サーバー- linux - amd64 .tar .gz
cd kubernetes /サーバー/ bin cp -ar kubelet kubeadm kubectl / usr / bin / 2. kubeadmスタートアップファイルを構成する cat > /usr/lib/systemd/system/kubelet.service << EOF [ユニット] Descriptinotallow = kubelet : Kubernetes ノードエージェント ドキュメント= https://kubernetes.io/docs/
[サービス] ExecStart =/ usr / bin / kubelet 再起動=常に 開始制限間隔= 0 再起動秒数= 10
[インストール] WantedBy =マルチユーザー.target 終了
#ExecStartコンテンツの改行に注意してください mkdir -p /usr/lib/systemd/system/kubelet.service.d/ cat >/ usr / lib / systemd / system / kubelet .service .d / 10 - kubeadm .conf << EOF [サービス] 環境変数'KUBELET_KUBECONFIG_ARGS'を設定します。 環境変数notallow = "KUBELET_CONFIG_ARGS=--cnotallow=/var/lib/kubelet/config.yaml" Envirnotallow =-/ var / lib / kubelet / kubeadm - flags.env 環境許可=-/ etc / sysconfig / kubelet 実行開始= ExecStart =/ usr / bin / kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS 終了 3. 画像をインポートするリソース パッケージをダウンロードし、解凍して、画像ディレクトリに入ります。次に、次のコマンドを実行してイメージをインポートします。 sh イメージロード.sh 4. kubeletを起動する # 起動時に自動的に開始するように設定し、サービスをすぐに開始します--now: サービスをすぐに開始します systemctl enable --now kubelet 3) クラスタの初期化1. 高可用性のための VIP を生成するために keepalived をインストールする【1】ダウンロード ダウンロードアドレス:https://www.keepalived.org/download.html wget https://www.keepalived.org/software/keepalived-2.2.7.ta r.gz --no - check - 証明書
tar - zxvf keepalived - 2.2 .7 .tar .gz
# openssl をインストールします (keepalived のコンパイルに必要) yum -y openssl をインストール openssl -devel
# keepalived をコンパイルする yum で gcc をインストール-y
cd keepalived - 2.2 .7 && ./configure --prefix=/usr/local/keepalived --syscnotallow=/etc 作成&&インストール
# 環境変数を設定する cp / usr /ローカル/ keepalived / sbin / keepalived / usr / sbin / keepalived 【2】マスター構成 cat > /etc/keepalived/keepalived.conf << EOF ! keepalived の設定ファイル グローバル定義{ #各キープアライブに異なる名前を付ける ルータID 56 } vrrp_インスタンス VI_1 { # MASTERはメインインスタンス、 BACKUPはスレーブインスタンスです 状態マスター # ネットワークカード名 インターフェースens33 # マスターとバックアップは同じ設定にする必要があります 仮想ルータID 68 # 優先度、プライマリはバックアップよりも高くなります。通常、プライマリは100に設定され、バックアップは80に設定されます。 優先度100 広告_int 1 # アクティブプリエンプションが有効な場合、サーバーがプリエンプトした後、このサーバーのキープアライブが停止するまで待機してから、別のサーバーに移動します。 先取りしない 認証 # マスターとバックアップは同じ設定にする必要があります 認証タイプ PASS # マスターとバックアップは同じ設定にする必要があります 認証パス1111 } 仮想IPアドレス{ # vip 、プライマリとバックアップは同じに構成する必要があります 192.168 .182 .211 } } 終了 【3】バックエンドの設定 cat > /etc/keepalived/keepalived.conf << EOF ! keepalived の設定ファイル グローバル定義{ #各キープアライブに異なる名前を付ける ルータID 56 } vrrp_インスタンス VI_1 { # MASTERはメインインスタンス、 BACKUPはスレーブインスタンスです 状態 バックアップ # ネットワークカード名 インターフェースens33 # マスターとバックアップは同じ設定にする必要があります 仮想ルータID 68 # 優先度、プライマリはバックアップよりも高くなります。通常、プライマリは100に設定され、バックアップは80に設定されます。 優先度80 広告_int 1 # アクティブプリエンプションが有効な場合、サーバーがプリエンプトした後、このサーバーのキープアライブが停止するまで待機してから、別のサーバーに移動します。 先取りしない 認証 # マスターとバックアップは同じ設定にする必要があります 認証タイプ PASS # マスターとバックアップは同じ設定にする必要があります 認証パスワード1111 } 仮想IPアドレス{ # vip 、プライマリとバックアップは同じに構成する必要があります 192.168 .182 .211 } } 終了 【4】サービスの起動を設定する cat > /usr/lib/systemd/system/keepalived.service << EOF [ユニット] Descriptinotallow = LVSおよびVRRP 高可用性モニター 後=ネットワーク-オンライン.target syslog .target 欲しいもの=ネットワーク-オンライン.target ドキュメント化不可= man : keepalived ( 8 ) ドキュメント化不可= man : keepalived .conf ( 5 ) ドキュメント化不可= man : genhash ( 1 ) ドキュメント許可= https://keepalived.org
[サービス] タイプ=フォーク PIDファイル=/ run / keepalived.pid キルモード=プロセス 環境許可=-/ usr /ローカル/ keepalived / sysconfig / keepalived ExecStart =/ usr / local / keepalived / sbin / keepalived $KEEPALIVED_OPTIONS ExecReload =/ bin / kill - HUP $MAINPID
[インストール] WantedBy =マルチユーザー.target
終了 【5】keepalivedを起動する systemctlデーモン-reload systemctl enable --now キープアライブ 2. 初期化設定ファイルを作成するここではVIPが使用されていることに注意してください kubeadm config 印刷 init -デフォルト> kubeadm - config .yaml 3. K8s クラスターの初期化ここで、tee コマンドを追加して、初期化ログを kubeadm-init.log に出力し、バックアップします (オプション)。 kubeadm init --cnotallow=kubeadm-config.yaml --experimental-upload-certs | kubeadm-init.log を tee する または直接初期化する kubeadm 初期化 \ --apiserver-advertise-address=192.168.182.211 \ --イメージリポジトリ registry.aliyuncs.com/google_containers \ --control-plane-endpoint=クラスターエンドポイント \ --kubernetes-バージョン v1.23.6 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16 \ --v=5 4. cniプラグイン(flannel)をインストールする # wget https://raw.githubusercontent.com/flannel-io/flannel/v0.20.2/Documentation/kube-flannel.yml kubeclt 適用- f kube -フランネル.yml 4) マスターノードを追加する # 追加する必要があるマスターノードで実行します
CERT_KEY = `ssh クラスター-エンドポイント"kubeadm init phase upload-certs --upload-certs|tail -1" `
join_str = `ssh クラスター-エンドポイント kubeadm トークン作成--print-join-command`
echo $join_str " --control-plane --certificate-key $CERT_KEY --v=5"
# 上記のコマンドを取得し、追加するノードで実行します
# --control-plane フラグは、kubeadm join に新しいコントロール プレーンを作成するように指示します。マスターに参加するにはこのマークを追加する必要があります # --certificate-key ... により、コントロール プレーン証明書がクラスター内の kubeadm-certs シークレットからダウンロードされ、指定されたキーを使用して復号化されます。ここでの値は、上記のコマンド (kubeadm init phase upload-certs --upload-certs) によって印刷されたキーです。
mkdir -p $HOME / .kube sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config sudo chown $ ( id - u ) : $ ( id - g ) $HOME / .kube / config
# マスター汚染を除去する # kubectl taint nodes `hostname` node - role .kubernetes .io / master : NoSchedule - 2 >/ dev / null # kubectl taint ノード `hostname` ノード.kubernetes .io / not - ready : NoSchedule - 2 >/ dev / null 5) ノードを追加する CERT_KEY = `ssh クラスター-エンドポイント"kubeadm init phase upload-certs --upload-certs|tail -1" `
join_str = `ssh クラスター-エンドポイント kubeadm トークン作成--print-join-command`
echo $join_str " --certificate-key $CERT_KEY --v=5" 6) IPVSを設定する1. ip_vs関連のカーネルモジュールをロードする modprobe --ip_vs modprobe --ip_vs_sh modprobe --ip_vs_rr modprobe --ip_vs_wrr # ipvsが有効になっていることを確認する lsmod | grep ip_vs 2. ipvsadmツールのオフラインインストールオンラインインストールは非常に簡単です yum インストール ipvsadm -y ダウンロードアドレス: http://www.linuxvirtualserver.org/software/ipvs.html wget https://kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-1.31 .tar .gz --no - check - certificate tar - xzvf ipvsadm - 1.31 .tar .gz && cd ipvsadm - 1.31
# 最初に依存パッケージをインストールします yum インストール-y libnl libnl -devel gcc # コンパイルしてインストール 作成&&インストール
# バージョン番号を確認する ipvsadm -バージョン 3. kube-proxy設定ファイルを編集し、モードをipvsに変更します。 kubectl edit configmap - n kube -システム kube -プロキシ 4. kube-proxyを再起動します # 最初に確認 kubectl get ポッド- n kube -システム| grep kube -プロキシ # もう一度削除して自動的に表示されるようにする kubectl get ポッド- n kube -システム| grep kube -プロキシ| awk '{system("kubectl delete ポッド "$1" -n kube-system")}' # もう一度確認 kubectl get ポッド- n kube -システム| grep kube -プロキシ 7) ingress-nginxをインストールする # wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml-O/tmp/deploy.yaml
kubectlを適用-f /tmp/deploy.yaml 8) NFSプロビジョナーをインストールする1. helmをインストールするhelm インストール パッケージも提供されているリソース パッケージに含まれているため、インターネットからダウンロードする必要はありません。 # パッケージをダウンロードする https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz-O/tmp/helm-v3.7.1-linux-amd64.tar.gz # 圧縮パッケージを解凍する tar - xf / tmp / helm - v3 .7 .1 - linux - amd64 .tar .gz - C /ルート/ # ソフトリンクを作成する ln -s /ルート/ linux - amd64 / helm / usr /ローカル/ bin / helm 2. Helmウェアハウスソースを追加する # helm リポジトリソースを追加する helmリポジトリにnfs -サブディレクトリ-外部-プロビジョナーを追加しますhttps://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ 3. nfsをインストールする【サーバ】 #### nfs をインストールする yum -y nfs をインストール-utils rpcbind
# サーバー mkdir -p / opt / nfsdata を実行します。 # 共有ディレクトリを承認する chmod 666 / opt / nfsdata cat > / etc / exports << EOF / opt / nfsdata * ( rw 、 no_root_squash 、 no_all_squash 、 sync )を設定します。 終了 # 設定が有効になります エクスポートfs -r
systemctl enable --now rpcbind systemctl enable --now nfs-server 【クライアント】 yum -y rpcbindをインストールします systemctl enable --now rpcbind 3. NFS プロビジョナー ### NFS プロビジョナーを Helm にインストールします。インストール パッケージも提供リソースに含まれているため、インターネットからダウンロードする必要はありません。 helmインストールnfs -サブディレクトリ-外部-プロビジョナー./nfs-subdir-external-provisioner-4.0 .17 .tgz \ --namespace=nfs-プロビジョナー \ --名前空間を作成 \ --set image.repository=willdockerhub/nfs-subdir-external-provisioner \ --set イメージタグ = v4.0.2 \ --set レプリカ数=2 \ --set storageClass.name=nfs-client \ --set storageClass.defaultClass=true \ --set nfs.server=クラスタエンドポイント \ --set nfs.path=/opt/nfsdata
# チェック kubectl ポッドの取得、デプロイ、 sc - n nfs -プロビジョナー 9) ダッシュボードをインストールする1. インストールGitHub アドレス: https://github.com/kubernetes/dashboard kubectl apply -fダッシュボード.yaml # チェック kubectl get pods 、 svc - n kubernetes -ダッシュボード 2. ログインユーザーを作成する cat > ServiceAccount .yaml << EOF APIバージョン: v1 種類:サービスアカウント メタデータ: 名前:管理者-ユーザー 名前空間: kubernetes -ダッシュボード --- apiバージョン: rbac .authorization .k8s .io / v1 種類: ClusterRoleBinding メタデータ: 名前:管理者-ユーザー ロールリファレンス: apiグループ: rbac .authorization .k8s .io 種類: ClusterRole 名前:クラスター-管理者 科目: -種類:サービスアカウント 名前:管理者-ユーザー 名前空間: kubernetes -ダッシュボード 終了 kubectl apply -fサービスアカウント.yaml 3. ログイントークンを作成して取得する kubectl - n kubernetes -ダッシュボード トークンの作成admin -ユーザー 4. Webにログインするログインアドレス: https://ip:31443/。次のようなプロンプトが表示される場合は、Firefox を試すことをお勧めします。 (証明書をお持ちの場合は、そのような問題は発生しません。) Firefoxブラウザでウェブにアクセス 10) イメージリポジトリHarborをインストールする1. 証明書を作成する mkdir stl && cd stl # CA証明書の秘密鍵を生成する openssl genrsa -出力 ca .key 4096 # CA証明書を生成する openssl 要求- x509 -新規-ノード- sha512 -日数3650 \ -件名"/C=CN/ST=広東省/L=深セン/O=港/OU=港/CN=myharbor.com" \ -key ca .key \ -out ca .crt # ドメイン名証明書を作成し、秘密鍵を生成する openssl genrsa -アウト myharbor .com .key 4096 # 証明書署名要求CSRを生成する openssl 要求- sha512 -新規 \ -件名"/C=CN/ST=広東省/L=深セン/O=港/OU=港/CN=myharbor.com" \ -key myharbor.com.key \ -アウト myharbor .com .csr # x509 v3 拡張機能を生成する cat > v3 .ext <<- EOF 権限キー識別子=キーID 、発行者 basicCnotallow = CA : FALSE keyUsage = digitalSignature 、 nonRepudiation 、 keyEncipherment 、 dataEncipherment 拡張キー使用法= serverAuth subjectAltName = @alt_names
[別名] DNS .1 = myharbor .com DNS .2 =* .myharbor .com DNS .3 =ホスト名 終了 #港湾アクセス証明書の作成 openssl x509 -要求- sha512 -日数3650 \ -extファイルv3 .ext \ - CA ca .crt - CAkey ca .key - CAcreateserial \ - myharbor.com.csr \内 -アウト myharbor .com .crt 2. 証明書キーを作成する kubectl シークレット tls myharbor .com --key myharbor.com.key --cert myharbor.com.crt -n harborを作成します。 kubectl シークレット myharbor .com - n ハーバーを取得します 3. チャートライブラリを追加する helmリポジトリに harborを追加しますhttps://helm.goharbor.io 4. 港湾の展開を開始する # インストールパッケージをダウンロードする 舵を取る 港/港 # harbor - 1.11 .1 .tgzインストール パッケージは提供されているリソース パッケージに含まれているため、インターネットからダウンロードする必要はありません。 helm myharbor をインストールします。 /港- 1.11 .1 .tgz \ --namespace=ハーバー --create-namespace \ --set expose.ingress.hosts.core=myharbor.com \ --set expose.ingress.hosts.notary=notary.myharbor.com \ --set-string expose.ingress.annotations.'nginx\.org/client-max-body-size'="1024m" \ --set expose.tls.secretName=myharbor.com \ --set persistence.persistentVolumeClaim.registry.storageClass=nfs-client \ --set persistence.persistentVolumeClaim.jobservice.storageClass=nfs-client \ --set persistence.persistentVolumeClaim.database.storageClass=nfs-client \ --set persistence.persistentVolumeClaim.redis.storageClass=nfs-client \ --set persistence.persistentVolumeClaim.trivy.storageClass=nfs-client \ --set persistence.persistentVolumeClaim.chartmuseum.storageClass=nfs-client \ --set 永続性を有効にする = true \ --set 外部URL=https://myharbor.com \ --set harborAdminPassword=Harbor12345 5. 表示 kubectl get pods 、 ingress - n harbor を実行します。 5. Webアクセスホストを構成する(実際のドメイン名の場合は、ホストを構成する必要はありません) 192.168 .182 .110マイハーバー.com 訪問: https://myharbor.com/ アカウント/パスワード: admin/Harbor12345 (注: ここでのパスワードは上記のインストール時にカスタマイズされます) |