6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

kubectlでUnable to connect to the serverが出てきちゃう

Last updated at Posted at 2020-03-07

概要

EKSのクラスターに繋ぐように設定していたkubectlで以下のエラーが。

$ kubectl get pods

Unable to connect to the server: dial tcp: lookup [API サーバーエンドポイント]: no such host

そういえばkubeconfigを作成した後、EKSでそのクラスターが削除されてたのを思い出した。

やったこと

結論から言うと、kubeconfigを一旦作り直しました。

やったことには悪手も含まれているので、どういうエラーが返ってきたかは参考になると思いますがコピペは責任取れませんmm

現状把握

$ kubectl config view

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: [旧API サーバーエンドポイント]
  name: [旧クラスター ARN]
contexts:
- context:
    cluster: [旧クラスター ARN]
    user: [旧クラスター ARN]
  name: [旧クラスター ARN]
current-context: [旧クラスター ARN]
・
・
・

という感じで、kubectlくんが既に存在しないクラスターの情報を見に行ってるようです。

本来の手順としては

  • kubectl config delete-cluster hoge で旧クラスターを削除
  • kubectl config delete-context fuga で旧コンテキストも削除
  • kubectl config set-cluster spam で新クラスターを登録
  • kubectl config set-context ham で新コンテキストを登録

とか、まだあると思いますが、基本的にはそのように登録を進めていけばいいはずです。

私はここで、vimを使って~/.kube/config内のファイルを編集してしまい、よく分からん挙動になってしまいました。

詳しく書くと更に読者を混乱させるのでやめておきます。

kubeconfigを作成し直す

$ mv ~/.kube/config ~/Desktop
$ aws eks --region [リージョン] update-kubeconfig --name [新クラスター名]

Added new context [新クラスターのARN] to /Users/myname/.kube/config

実際にkubectlを打ち込むと正常に起動します。catでみても問題なさそう。

コマンドがあるのに我流でvimは良くないですね、自戒。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?