(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Kubernetes】Windowsにkubectlをインストールする

スポンサーリンク

はじめに

以下の記事でWindows機にminikubeをインストールした続きです。

同様の環境からk8sを操作するコマンドであるkubectlをインストールする流れです。

環境情報
  • Microsoft Windows 10 Enterprise
  • VirtulBox 5.1
  • CYGWIN_NT-10.0
  • Kubernetes v1.17

kubectlをインストールする

Windows機に搭載されているcurlコマンドを利用します。

$ which curl
/cygdrive/c/WINDOWS/system32/curl

インストール用リンクは以下に記載がありました。

curlコマンドを押下すると

$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/windows/amd64/kubectl.exe
...

インストールが完了しました。

パスを通す

そのままではホームディレクトリ配下にあるので

$ ls
kubectl.exe 
$ file kubectl.exe
kubectl.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows

今回はminikube.exeがある場所に配置しました。(既にパスを通しているので)

$ cp -r kubectl.exe /cygdrive/c/Program\ Files/Kubernetes/Minikube/

上記ディレクトリにコピーするためには管理者権限が必要なのでご注意ください。

パスが通ったことが確認できます。

$ which kubectl
/cygdrive/c/Program Files/Kubernetes/Minikube/kubectl

kubectlコマンドの利用

現在利用中のコンテキストを確認するとminikubeが選択されています。

$ kubectl config get-contexts
CURRENT   NAME                              CLUSTER               AUTHINFO                     NAMESPACE
*         minikube                          minikube              minikube

この状態でサンプルのポッド(k8sでの最小単位)を起動します。

$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
...
deployment.apps/hello-minikube created

確認すると以下のようにポッドが作成されています。

$ kubectl get pod
NAME                              READY   STATUS    RESTARTS   AGE
hello-minikube-5688c64fd7-b9wbt   1/1     Running   0          Xs

これを以下コマンドで外部に公開し

$ kubectl expose deployment hello-minikube --type=NodePort
service/hello-minikube exposed

以下コマンドでURLを取得すれば

$ minikube service hello-minikube --url
http://192.168.99.100:30140

ブラウザ上で

f:id:mtiit:20200206142730p:plain
テキストが表示される

終わり

minikube service hello-minikube --urlにて標準出力に何も表示されない場合は以下のように停止して

$ minikube stop
* Stopping "minikube" in virtualbox ...
* "minikube" stopped.

再起動をかけるとうまくいくことがあります。

minikubeとkubectlが利用できれば、一通りのことはできるのでぜひ色々試してみてください。

以上、ご参考になれば幸いです。