web-dev-qa-db-ja.com

Kubectl:サーバーに接続できません:ダイヤルTCP 192.168.214.136:6443:接続:ホストへのルート

私は最近VMwareにKubernetesをインストールし、それらのポッドを設定しながら、VMwareのIPを自動的に使用して設定して設定しています。その時点でアプリケーションにアクセスすることができましたが、最近、VMをホストするVMとマシンが再起動しました。この中にVMのIPは変更されましたコマンドを使用する場合

kubectl Pod -nを入手してください

_userX@ubuntu:~$ kubectl get pod -n NameSpaceX
Unable to connect to the server: dial tcp 192.168.214.136:6443: connect: no route to Host```

userX@ubuntu:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/AMD64"}
Unable to connect to the server: dial tcp 192.168.214.136:6443: connect: no route to Host
_

kubectl Cluster-Infoおよび他の関連コマンドは同じ出力を提供します。 VMwareワークステーションの設定では、ホストIPアドレス設定を共有しているネットワークアダプタを使用しています。影響があるかどうかわかりません。

また、/ etc/hostsに以下のエントリを追加しようとしましたが、機能していません。

127.0.0.1 Localhost\N 192.168.214.136 Localhost\N 127.0.1.1 Ubuntu

アプリケーションにアクセスするには、Podsを再度実行することが期待されています。時間がかかるすべてのポッドを再インストールするためのスステッド - PODが実行状態に戻るように迅速な回避策を探しています。

3
Vicky

一般的な慣習は、設定ファイルをホームディレクトリにコピーすることです。

Sudo cp /etc/kubernetes/admin.conf ~/.kube/config && Sudo chown $(id -u):$(id -g) $HOME/.kube/config
 _

また、API-Serverアドレスが有効であることを確認してください。

server: https://<master-node-ip>:6443
 _

そうでない場合は、任意のテキストエディタを使用して手動で編集できます。

1
A_Suh

昨夜私はこの人形モジュールを使ってクウェットをインストールするとまったく同じエラーがありました: https://forge.puppet.com/puppetlabs/kubernetes

APIに向かってすべての非ローカル要求をブロックする、マスター内の誤ったiptables設定であることがわかります。

私が解決した方法(BruteForce Solution)

  1. allを完全に取り外したK8S関連ソフトウェア(すべての設定ファイル、etc data、dockerイメージ、マウントされたTMPFSファイルシステム、...)
  2. iptablesを完全に拭きます。 https://servault.com/questions/200635/BEST-TOWAY-to-----clear-Plable-rules
  3. 再インストールします

これが私の場合に問題を解決するものです。

これを行うには、おそらく多くのニカでクリーナーな方法があります(すなわち、アクセスを許可するためのIptables Rulesを変更するだけです)。

0
Niels Basjes