4

Kubernetes-Cluster を Gitlab に正常に接続しました。また、Gitlab UI (Operations->Kubernetes) を介して Helm をインストールできました。私の問題は、Ingress Gitlab の「インストール」ボタンをクリックすると、Ingress-Controller に必要なすべての必要なものが作成されることです。しかし、見逃されることが 1 つあります。それは、外部 IP です。外部 IP は「?」としてマークされます。

そして、このコマンドを実行すると:

kubectl get svc --namespace=gitlab-managed-apps ingress-nginx-ingress- controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}'; echo

何も表示されません。外部 IP を公開する Loadbalancer がないように。

Kubernetes クラスター

flannel を CNI として使用して、kubeadm を介して Kubernetes をインストールしました

kubectl バージョン:

Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.2"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.2"}

Ingress をインストールする前に設定する必要があるものはありますか。外部ロードバランサーが必要ですか (私の考え: Gitlab がそのサービスを作成してくれます)?

もう 1 つのヒント: インストール後、Nginx-Ingress-Controller サービスの状態は保留中のままになります。外部 IP を検出できない理由。また、サービスの yaml ファイルを変更し、「externalIPs : -External-IP」行を手動で追加しました。これの出力は、保留中ではないということでした。しかし、上記のように入力しても外部 IP を見つけることができませんでした。コマンドとGitlabも外部IPを見つけることができませんでした

編集:これはインストール後に発生します: 画像を参照してください

EDIT2:次のコマンドを実行して:

kubectl describe svc ingress-nginx-ingress-controller -n gitlab-managed-apps

次の結果が得られます。

写真を見る

イベント ログで、タイプを一度「NodePort」に切り替えてから「LoadBalancer」に戻し、yaml ファイルに「externalIPs: -192.168.50.235」行を追加したことがわかります。ご覧のとおり、externalIP がありますが、Git はそれを検出していません。

ところで。AWS や GCE などのこれらのクラウド プロバイダーは使用していませんが、LoadBalancer がそのように機能していないことがわかりました。しかし、これには LoadBalancer を使用しないソリューションが必要です。

4

2 に答える 2