私はKubernetesとクラスターにかなり慣れていないので、これは非常に簡単かもしれません。
このガイド に従ってkubeadm
を使用して、5つのノードでKubernetesクラスターをセットアップしました。いくつか問題が発生しましたが、最終的にはすべて機能しました。だから今私は Web UI(ダッシュボード) をインストールしたいと思います。そのためには、認証を設定する必要があります。
これは、apiserverがユーザー名とパスワードによる認証を許可するように設定されている場合にのみ機能することに注意してください。これは現在、一部のセットアップツール(kubeadmなど)には当てはまりません。認証を手動で構成する方法については、認証管理ドキュメントを参照してください。
だから私はドキュメントの 認証ページ を読まなければなりませんでした。そして、 静的パスワードファイル を介して認証を追加することにしました。そのためには、オプション--basic-auth-file=SOMEFILE
をApiサーバーに追加する必要があります。
ps -aux | grep kube-apiserver
を実行すると、これが結果になるため、すでに実行されています。 (これは、kubectl
を呼び出すときに使用するので意味があります)
kube-apiserver
--insecure-bind-address=127.0.0.1
--admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,ResourceQuota
--service-cluster-ip-range=10.96.0.0/12
--service-account-key-file=/etc/kubernetes/pki/apiserver-key.pem
--client-ca-file=/etc/kubernetes/pki/ca.pem
--tls-cert-file=/etc/kubernetes/pki/apiserver.pem
--tls-private-key-file=/etc/kubernetes/pki/apiserver-key.pem
--token-auth-file=/etc/kubernetes/pki/tokens.csv
--secure-port=6443
--allow-privileged
--advertise-address=192.168.1.137
--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
--anonymous-auth=false
--etcd-servers=http://127.0.0.1:2379
私が持っているいくつかの質問:
/etc/kubernetes/manifests
には、kube-apiserver.json
というファイルがあります。これはJSONファイルであり、設定できるすべてのオプションが含まれています。 --basic-auth-file=SOMEFILE
を追加し、システムを再起動しました(ファイルの変更kubectl
が機能しなくなり、APIがシャットダウンされた直後)
再起動後、システム全体が再び機能していました。
これを使ってダッシュボードを実行することができませんでした。最後に私がしたことは、クラスターにダッシュボードをインストールすることでした。マスターノード(/etc/kubernetes/admin.conf)からラップトップにキーをコピーし、kubectl proxy
を実行してダッシュボードのトラフィックをローカルマシンにプロキシしました。これで、127.0.0.1:8001/uiを介してラップトップでアクセスできます。