20
14

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 3 years have passed since last update.

VScode の Kubernetes 拡張機能

Last updated at Posted at 2020-01-13

概要

VSCode の Kubernetes 拡張機能について下記を記載する

  1. VSCode インストール
  2. VSCode へ Kubernetes Extension インストール
  3. Kubernetes Extension の Kubeconfig 設定
  4. VSCode から kubectl apply の実行例

1. VSCode インストール

OS 別に VSCode のインストール方法を記載する。(Windows は手元にいい環境がなかったため省略)
すでにインストール済みであればこの項目は実施不要。

Linux

参照先 Visual Studio Code on Linux

Ubuntu / Debian 系

下記実行でパッケージ設定からインストールまで完了する。(詳細 Debian and Ubuntu based distributions)

sudo apt install -y curl
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt -y install apt-transport-https
sudo apt -y update
sudo apt -y install code

RHEL/Fedora/CentOS 系

下記実行でパッケージ設定からインストールまで完了する。
(CentOS7はyum, CentOS8ではdnfなので注意) (詳細 RHEL, Fedora, and CentOS based distributions)

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
#CentOS8 or Fedora
sudo dnf check-update
sudo dnf install -y code
#CentOS7
sudo yum check-update
sudo yum install -y code

共通

インストール後はShellにて下記で起動可能。

$ code

MacOS

ダウンロードサイトから他ソフト同様ダウンロードしてインストールする。
スクリーンショット 2020-01-12 14.55.01.png

ダウンロードが終わるとダウンロードフォルダに「VSCode-darwin-stable.zip」が保存されているので開く。
(Safariの場合は展開済みの場合がある(.zipではなくVisualStuioCodeそのものがある場合は下記は不要))
スクリーンショット 2020-01-12 15.02.34.png

アーカイブマネージャで展開され、アプリケーション「Visual Studio Code」が
ダウンロードフォルダに配置されるので実行する。
スクリーンショット 2020-01-12 15.14.54.png

実行時に下記が表示される場合は、「開く」を選択する。
スクリーンショット 2020-01-12 15.16.12.png

アプリケーションとして登録する場合は、「Visual Studio Code」を「アプリケーション」へドラッグアンドドロップしておくことで配置できる。
スクリーンショット 2020-01-12 15.20.03.png

2. VSCode Kubernetes Extension インストール

VSCodeを起動し下記の手順で Kuberntes用のExtention をインストールする。

  1. Extensionを選択
  2. Search で「kubernetes」を入力
  3. Kubernetes (Microsoft) を Install
    スクリーンショット 2020-01-10 0.57.08.png

VSCodeを再起動すると横に Kubernetes のExtension のメニュー(Kubernetesのマーク)が増えている。
スクリーンショット 2020-01-12 15.28.47.png

kubectl等が見つからない場合は、依存性のパッケージインストール要求が出てくるので、
Install dependencies」をクリックしてインストールする。
※この際に解決されダウンロードされたものはデフォルトでは「~/.vs-kubernetes/tools/」のパス配下へ保存されます
スクリーンショット 2020-01-12 15.39.46.png

3. Kubernetes Extension Kubeconfig 設定

kubeconfigを設定しVSCodeからkubernetesクラスタへアクセスできるように設定する。
設定方法は複数パターンがあるので、下記3パターンで記載する。

  1. デフォルト参照パスへの配置
  2. デフォルトパス以外のkubeconfigの参照
  3. 複数のkubeconfigの設定・切替

1. デフォルト参照パスへの配置

デフォルトでは「~/.kube/config」が参照される。
すでにkubectl等でVSCodeを入れたホストに配置されている場合は、
上記が参照された状態でVSCodeが立ち上がる。
※ 1クラスタのみを対象にする場合はこれだけで十分だと思います

2. デフォルトパス以外のkubeconfigの参照

kubeconfig ファイルを指定することも可能。

VSCodeのホストにkubeconfigがない場合は、既存で使用しているkubeconfigをダウンロードか別途用意する。
kubesprayでインストールしている場合は、マスターノードにある /root/.kube/config を取得(コピーなど)するとそのまま使える。
kubesprayでのkuberntesクラスタ構築例

スクリーンショット 2020-01-12 16.00.57.png

用意したkubeconfigは 「CLUSTERS」 の「…」を開いて「Set Kubeconfig」を選択し、
「+Add new kubeconfig」を選択(クリック)する。

スクリーンショット 2020-01-12 15.50.42.png スクリーンショット 2020-01-12 15.50.58.png

ファイル選択から指定したい kubeconfig(/root/.kube/configを持ってきた場合はそのファイル) を指定し開く。
スクリーンショット 2020-01-12 16.10.57.png

kubeconfigの設定が完了し、kubernetesクラスタへアクセスができると、
kubernetesのリソース情報を VSCode 上から確認できるようになる。
スクリーンショット 2020-01-12 16.09.48.png

3. 複数のkubeconfigの設定・切替

VSCodeの設定(setting.json)を編集することで複数のkubeconfigを設定しておくことも可能。
※2.の方法で追加していくことも可能です。複数の場合はjsonでの管理を意識した方が後々管理しやすいと思います

  1. 左下の⚙(歯車)をクリック
  2. 設定(Setting)をクリック
  3. 拡張機能(Extension)をクリックして広げる
  4. Kubernetes config...をクリック
  5. setting.jsonで編集(Edit setting.json)をクリック
スクリーンショット 2020-01-13 13.01.44.png

setting.jsonの「vs-kubernetes」の設定を編集する。

  • "vs-kubernetes.knownKubeconfigs" : 配列で複数のkubeconfigを指定できる
  • "vs-kubernetes.kubeconfig": 使用するkubeconfigを指定できる
スクリーンショット 2020-01-13 13.04.54.png

切替方法はCLUSTERSのSet Kubeconfigを開いて、使用したい方のkubeconfigをクリックすることで切り替えができる。
スクリーンショット 2020-01-12 15.50.42.png
スクリーンショット 2020-01-13 13.09.44.png

4. VSCode から kubectl apply の実行例

VSCodeからの操作の一例として下記記載する。

  1. マニフェストからのPodのcreate
  2. マニフェスト編集でのPodのapply

1. マニフェストからのPodのcreate

下記は例で作成するnginxのPodを構築するマニフェスト。
(VSCodeではresource.limitsを書かないと自動で警告を出してくれるので、limitsを適当に書いている)
スクリーンショット 2020-01-13 13.57.23.png

コマンドパレットから「Kubernetes: Apply」を選択する(kube applyなど打てば下に出てくるので選択する)
(コマンドパレットはCtrl + Shift + p もしくは 表示(View)からコマンドパレット(Command Pallet...)で表示可能)
スクリーンショット 2020-01-13 13.59.35.png

右下に「Create」するかが聞かれるので「Create」をクリックする。

スクリーンショット 2020-01-13 13.57.36.png

2. マニフェスト編集でのPodのapply

1.で作成したPodのimageを1.12から1.13へ変更する例として下記のように1.のマニフェストを編集する。
スクリーンショット 2020-01-13 13.46.56.png

1.と同様に「Kubernetes: Apply」をコマンドパレットから使用する。
スクリーンショット 2020-01-13 13.47.49.png

1.(create時)とは異なり、既存リソースにあるため、差分表示がされ、「Apply」するかが問われるので、
差分が問題ないことを確認してから「Apply」をクリックして適応できる。
スクリーンショット 2020-01-13 13.48.47.png

おわりに

VSCode で Kubernetes 拡張機能について概要を記載した。
Apply 時に差分を確認してから Apply ができたり、yaml で resources.limits を書かないと警告をしてくれたり、便利そうなことが見えてきた。
ただ、実際の運用ではCI/CDツールを整備などするため、手動でapplyするのは稀かもしれない。
利用はこれからなので、いろいろ探っていきたい。

20
14
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
20
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?