web-dev-qa-db-ja.com

さまざまなオプションを使用してKubernetesAPIサーバーを再起動します

私は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

私が持っているいくつかの質問:

  • では、これらすべてのオプションはどこに設定されていますか?
  • このプロセスを強制終了し、必要なオプションで再起動できますか?
  • システムを再起動すると起動しますか?
11
Ravenix

/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を介してラップトップでアクセスできます。

8
Ravenix