|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
技術的なFAQ
管理者パスワードをリセットするにはどうすればよいですか?
Dockerのインストール:
$ docker exec -ti <container_id> reset-password New password for default administrator (user-xxxxx): <new_password>
Kubernetesのインストール (Helm):
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl --kubeconfig $KUBECONFIG -n cattle-system exec $(kubectl --kubeconfig $KUBECONFIG -n cattle-system get pods -l app=rancher --no-headers | head -1 | awk '{ print $1 }') -c rancher -- reset-password
New password for default administrator (user-xxxxx):
<new_password>
Kubernetesのインストール (Helm - Rancher Prime v2.13.1に適用):
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl --kubeconfig $KUBECONFIG -n cattle-system exec $(kubectl --kubeconfig $KUBECONFIG -n cattle-system get pods -l app=rancher-prime --no-headers | head -1 | awk '{ print $1 }') -c rancher-prime -- reset-password
New password for default administrator (user-xxxxx):
<new_password>
最後の管理者を削除/無効化しました。どうすれば回復できますか?
Dockerのインストール:
$ docker exec -ti <container_id> ensure-default-admin New default administrator (user-xxxxx) New password for default administrator (user-xxxxx): <new_password>
Kubernetesのインストール (Helm):
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl --kubeconfig $KUBECONFIG -n cattle-system exec $(kubectl --kubeconfig $KUBECONFIG -n cattle-system get pods -l app=rancher | grep '1/1' | head -1 | awk '{ print $1 }') -- ensure-default-admin
New password for default administrator (user-xxxxx):
<new_password>
Kubernetesのインストール (Helm - Rancher Prime v2.13.1に適用):
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl --kubeconfig $KUBECONFIG -n cattle-system exec $(kubectl --kubeconfig $KUBECONFIG -n cattle-system get pods -l app=rancher-prime | grep '1/1' | head -1 | awk '{ print $1 }') -- ensure-default-admin
New password for default administrator (user-xxxxx):
<new_password>
私のClusterIPはpingに応答しません
ClusterIPは仮想IPであり、pingには応答しません。ClusterIPが正しく構成されているかをテストする最良の方法は、`curl`を使用してIPとポートにアクセスし、応答があるか確認することです。
私のLayer-4ロードバランサーはなぜ`Pending`の状態ですか?
Layer-4ロードバランサーは`type: LoadBalancer`として作成されます。Kubernetesでは、これにはこれらのリクエストを満たすことができるクラウドプロバイダーまたはコントローラーが必要です。そうでない場合、これらは永遠に`Pending`の状態になります。詳細情報はクラウドプロバイダーまたは 外部ロードバランサーを作成で見つけることができます。
Rancherの状態はどこに保存されていますか?
-
Dockerのインストール:
rancher/rancher`コンテナの埋め込まれたetcdにあり、/var/lib/rancher`にあります。 -
Kubernetesのインストール: デフォルトの場所は、Rancherを実行するために作成されたそれぞれのRKE2/K3sクラスターの`/var/lib/rancher/rke2`または`/var/lib/rancher/k3s`ディレクトリにあります。
サポートされているDockerバージョンはどのように決定されますか?
私たちは、アップストリームKubernetesリリースの検証済みDockerバージョンに従います。検証済みのバージョンは、KubernetesリリースのCHANGELOG.mdの 外部依存関係に記載されています。
Rancherによって作成されたノードにアクセスするにはどうすればよいですか?
Rancherによって作成されたノードにアクセスするための SSH キーは、ノード ビューからダウンロードできます。アクセスしたいノードを選択し、行の最後にある縦の ⋮ ボタンをクリックし、下の画像に示されているように キーをダウンロード を選択します。
ダウンロードした zip ファイルを解凍し、ファイル id_rsa を使用してホストに接続します。正しいユーザー名 (rancher または docker は RancherOS 用、ubuntu は Ubuntu 用、ec2-user は Amazon Linux 用) を使用することを確認してください。
$ ssh -i id_rsa user@ip_of_node
RancherでタスクXを自動化するにはどうすればよいですか?
UI は静的ファイルで構成されており、API の応答に基づいて動作します。つまり、UI で実行できるすべてのアクション/タスクは、API を介して自動化できます。これには 2 通りの方法があります:
-
https://your_rancher_ip/v3を訪れて API オプションを参照してください。 -
UI を使用しているときに API コールをキャプチャします(最も一般的に使用されるのは Chrome 開発者ツール ですが、好きなものを使用できます)。
ノードの IP アドレスが変更されました。どうすれば回復できますか?
ノードには静的 IP が設定されている必要があります(または DHCP を介して予約された IP)。ノードの IP が変更された場合は、クラスターから削除して再追加する必要があります。削除された後、Rancher はクラスターを正しい状態に更新します。クラスターがもはや Provisioning 状態でない場合、ノードはクラスターから削除されます。
ノードの IP アドレスが変更されたため、Rancherはノードとの接続を失い、ノードを適切にクリーンアップできなくなります。ノードをクリーンアップするには、クラスターのノードをクリーンアップを参照してください。
ノードがクラスターから削除され、ノードがクリーンアップされた場合、ノードをクラスターに再追加できます。
Rancherが起動したKubernetesクラスターのKubernetesコンポーネントに、どのようにして追加の引数/バインド/環境変数を追加できますか?
それぞれのRKE2 設定ファイルまたはK3s 設定ファイルを介して、追加の引数/バインド/環境変数を追加できます。
自分の証明書チェーンが有効かどうかを確認するにはどうすればよいですか?
`openssl verify`コマンドを使用して、証明書チェーンを検証します:
|
手動で検証する際にOSにインストールされた証明書が使用されないように、`SSL_CERT_DIR`と`SSL_CERT_FILE`をダミーの場所に設定してください。 |
SSL_CERT_DIR=/dummy SSL_CERT_FILE=/dummy openssl verify -CAfile ca.pem rancher.yourdomain.com.pem rancher.yourdomain.com.pem: OK
エラー`unable to get local issuer certificate`が表示された場合、チェーンが不完全です。これは通常、中間CA証明書がサーバー証明書を発行したことを意味します。この証明書をすでに持っている場合、以下のように証明書の検証に使用できます:
SSL_CERT_DIR=/dummy SSL_CERT_FILE=/dummy openssl verify -CAfile ca.pem -untrusted intermediate.pem rancher.yourdomain.com.pem rancher.yourdomain.com.pem: OK
証明書チェーンを正常に検証した場合、Rancherへの接続(たとえば、Rancherエージェントによる接続)のために、必要な中間CA証明書をサーバー証明書に含める必要があります。サーバー証明書ファイル内の証明書の順序は、最初にサーバー証明書自体(`rancher.yourdomain.com.pem`の内容)、次に中間CA証明書(`intermediate.pem`の内容)である必要があります。
-----BEGIN CERTIFICATE----- %YOUR_CERTIFICATE% -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- %YOUR_INTERMEDIATE_CERTIFICATE% -----END CERTIFICATE-----
検証中にまだエラーが発生する場合、次のコマンドを使用してサーバー証明書のサブジェクトと発行者を取得できます:
openssl x509 -noout -subject -issuer -in rancher.yourdomain.com.pem subject= /C=GB/ST=England/O=Alice Ltd/CN=rancher.yourdomain.com issuer= /C=GB/ST=England/O=Alice Ltd/CN=Alice Intermediate CA
サーバー証明書で`Common Name`と`Subject Alternative Names`を確認するにはどうすればよいですか?
技術的には`Subject Alternative Names`のエントリが必要ですが、`Common Name`にもホスト名を含め、さらに`Subject Alternative Names`にもエントリとしてホスト名を登録することで、古いブラウザやアプリケーションとの互換性が最大限に高まります。
`Common Name`を確認してください:
openssl x509 -noout -subject -in cert.pem subject= /CN=rancher.my.org
`Subject Alternative Names`を確認してください:
openssl x509 -noout -in cert.pem -text | grep DNS
DNS:rancher.my.org
ノードが失敗したときにポッドが再スケジュールされるのに5分以上かかるのはなぜですか?
これは、以下のデフォルトのKubernetes設定の組み合わせによるものです:
-
kubelet
-
node-status-update-frequency:kubeletがマスターにノードのステータスを投稿する頻度を指定します(デフォルトは10秒)
-
-
kube-controller-manager
-
node-monitor-period:NodeControllerにおけるNodeStatusの同期期間(デフォルトは5秒) -
node-monitor-grace-period:ノードが応答しない状態を不健康と見なすまでの許容時間(デフォルトは40秒) -
pod-eviction-timeout:失敗したノード上のポッドを削除するための猶予期間(デフォルトは5分0秒)
-
これらの設定に関する詳細は、 Kubernetes: kubeletおよび Kubernetes: kube-controller-managerを参照してください。
Kubernetes v1.13では、`TaintBasedEvictions`機能がデフォルトで有効になっています。詳細については、 Kubernetes: Taint based Evictionsを参照してください。
-
kube-apiserver(Kubernetes v1.13以降)
-
default-not-ready-toleration-seconds:デフォルトで、すべてのポッドに追加されるnotReady:NoExecuteのためのtolerationSecondsを示します。 -
default-unreachable-toleration-seconds:デフォルトで、すべてのポッドに追加されるunreachable:NoExecuteのためのtolerationSecondsを示します。
-