LoginSignup
0
0

kubectlコマンドをWindows 10にインストールしてみた

Posted at

はじめに

以前の記事で構築したK3sに、Windowsからkubectlで操作できるようにしてみました。

参考にサイト

構成図

+-----------------------+
| +-------------------+ |
| | +---------------+ | |
| | | +-----------+ | | |
| | | | K3s       | | | |
| | | +---------A-+ | | |
| | | Debian 12 |   | | |
| | +-----------|---+ | |
| | WSL2        |     | |
| +-------------|-----+ |
|               |       |
|          +----+----+  |
|          | kubectl |  |
|          +---------+  |
| Windows 10            |
+-----------------------+

kubectl.exeのインストール

  1. 以下のページを参考に、kubectl.exeファイルを任意の場所に保存してください。
  2. 以下のコマンドを実行し、環境変数Pathにkubectl.exeコマンドを保存したディレクトリを追加してください。
    Set-Item Env:Path $Env:Path";<kubectl.exeを保存したディレクトリ>"
    

configファイルの作成

  1. Windowsのユーザのホームディレクトリに移動してください。
    cd $Env:HOMEPATH
    
  2. .kubeディレクトリを作成してください。
    mkdir .kube
    
  3. .kubeディレクトリに移動してください。
    cd .kube
    
  4. configファイルを作成してください。
    New-Item config -type file
    
  5. K3sを動かしているLinuxにログインし、以下のコマンドを実行してください。
    sudo k3s kubectl config view --raw
    
  6. Visual Studio Codeなどでconfigファイルを開き、sudo k3s kubectl config view --rawの実行結果を貼り付けてください。
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: (snip)
        server: https://127.0.0.1:6443
      name: default
    contexts:
    - context:
        cluster: default
        user: default
      name: default
    current-context: default
    kind: Config
    preferences: {}
    users:
    - name: default
      user:
        client-certificate-data: (snip)
        client-key-data: (snip)   
    
  7. IPアドレスが、127.0.0.1となっている個所を、LinuxのIPアドレス (私の環境では172.23.210.56でした) に変更してください。

kubectlコマンドの実行

  1. 任意のディレクトリに移動し、kubectl.exeを実行してください。
    PS C:\> kubectl.exe get node
    NAME                   STATUS   ROLES                  AGE   VERSION
    node/desktop-1be4jse   Ready    control-plane,master   33h   v1.30.0+k3s1
    

Podの作成

  • Windowsからkubectl.exeを実行し、NGINXのPodが起動できるか試しました。
    • 本当はMariaDBのPodでも起動しようかと思ったのですが、ちょっと長くなりそうだったので、以前の記事と同じくNGINXにしました。
  1. Windowsの任意のディレクトリ (e.g., C:\Users\foo\k3s) に、nginx.yamlファイルを作成してください。
    New-Item nginx.yaml -type file
    
  2. Visual Studio Codeなどで、nginx.yamlを開き、以下のように編集してください。
    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx
          ports:
          - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx
    spec:
      type: NodePort
      ports:
        - name: nginx
          protocol: TCP
          port: 80
          targetPort: 80
          nodePort: 30080
      selector:
        app: nginx
    
  3. kubectl.exeで、NGINXのPodと、ポートフォワードのためのServiceを作成してください。
    kubectl.exe apply -f nginx.yaml
    
  4. Podが作成されていることを確認してください。
    PS C:\> kubectl.exe get pod     
    NAME    READY   STATUS    RESTARTS   AGE
    nginx   1/1     Running   0          52m
    
  5. curlコマンドで、NIGNXにアクセスできることを確認してください。
    curl 172.23.210.56:30080
    
    • 実行結果
      <!DOCTYPE html>
      <html>
      (snip)
      <body>
      <h1>Welcome to nginx!</h1>
      (snip)
      

さいごに

これで、Windowsからもkubectl.exeで、K3sを操作できること確認できました。次はいつになるか分かりませんが、NGINX以外のPodも試してみようと思います。

0
0
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
0
0