markdown [Kubernetes入门] kubectlのアクセス先(コンテキスト)を切り替える方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown [Kubernetes入门] kubectlのアクセス先(コンテキスト)を切り替える方法相关的知识,希望对你有一定的参考价值。

`kubectl`コマンドは**Kubernetes**のコマンドラインインターフェイスです。
`kubectl`コマンドの設定は、`~/.kube/config`ファイルに設定されています。
本記事では複数のKubernetesクラスタへの接続方法を管理するcontextの概要と接続先の切り替え方法を紹介します。

## 対象読者

- Kubernetesを初めて利用する管理者、開発者

## TL;DR

    $ kubectl config current-context        #現在のコンテキスト
    $ kubectl config get-contexts           #コンテキストの一覧
    $ kubectl config use-context <context>  #コンテキストの切り替え

## 目次

1. contextとは?
2. 現在のコンテキストを調べる方法は?
3. コンテキストの一覧を表示する方法は?
4. コンテキストを切り替えるには?
5. コンテキストを削除するには?
6. さいごに

## contextとは?

contextはクラスタの情報、ユーザ、ネームスペースを組み合わせたものです。
この組み合わせで、どのKubernetesクラスタに接続するかが決まります。

![](https://gist.githubusercontent.com/sumomo-99/ce85b21b18c424887ecf1a666cf894b1/raw/4e1e001455cd4502166b046450fdad26ae22b690/kubernetes_context.png)

- contextにはcluster、user、namespaceの3つのパラメータがあります。
- contextにはclusterとuserが含まれている必要があります。
- clusterとuserは、すべてのcontextで共有されているので、すべてのcontextで利用することができます。
- clusterとuserのペアで接続先のKubernetesクラスタが決まります。
- namespaceはデフォルトのネームスペースを指定します。オプション設定なので、ネームスペースを変更する必要があるときだけ設定します。
- kubectlコマンドでコンテキストを指定しなかった場合、カレントコンテキストが接続先になります。

## 現在のコンテキストを調べる方法は?

現在のkubectlの接続先(カレントコンテキスト)を調べるには、`kubectl config current-context`コマンドを使います。

    $ kubectl config current-context
    gke_easydoggie_us-west1-c_easydoggie

表示された結果が、現在のコンテキスト名になります。

## コンテキストの一覧を表示する方法は?

コンテキストの一覧を表示するには`kubectl config get-contexts`コマンドを使います。

    $ kubectl config get-contexts
    CURRENT   NAME                                   CLUSTER                                AUTHINFO                               NAMESPACE
              docker-for-desktop                     docker-for-desktop-cluster             docker-for-desktop
    *         gke_easydoggie_us-west1-c_easydoggie   gke_easydoggie_us-west1-c_easydoggie   gke_easydoggie_us-west1-c_easydoggie

`*`があるコンテキストが、カレントコンテキスト(現在のコンテキスト)になります。

## コンテキストを切り替えるには?

コンテキストを切り替えるには`kubectl config use-context <context>`コマンドを使います。

    $ kubectl config use-context docker-for-desktop
    Switched to context "docker-for-desktop".

kubectlコマンドの`--context`オプションを利用することで、コマンドの実行ごとにコンテキストを切り替えることもできます。

## コンテキストを削除するには?

コンテキストを削除するには、`kubectl config delete-context <context>`コマンドを使います。

    $ kubectl config delete-context gke_easydoggie_us-west1-c_easydoggie
    deleted context gke_easydoggie_us-west1-c_easydoggie from /home/maint/.kube/config

## さいごに

本記事ではkubectlのコンテキストの切り替え方法を紹介しました。GKEのgcloudコマンドでKubernetesクラスタを作成した場合など、自動的にkuectlのカレントコンテキストが作成したクラスタに切り替わります。複数のKubernetesクラスタを利用している場合、いつの間にかコンテキストが切り替わっている可能性もあります。kubectlコマンドを実行するときに、カレントコンテキストが目的のクラスタであるか、きちんと確認をしてからコマンドを実行するように、日ごろから意識していきたいですね。

以上是关于markdown [Kubernetes入门] kubectlのアクセス先(コンテキスト)を切り替える方法的主要内容,如果未能解决你的问题,请参考以下文章

k8s入门系列之集群安装篇

高可用集群篇-- K8S快速入门及集群部署

3-Kubernetes入门之CentOS上安装部署k8s集群

markdown kubernetes + ml

markdown Kubernetes:从私人仓库中提取图片

markdown Kubernetes命令行工具