LoginSignup
5
6

More than 3 years have passed since last update.

【k8s】Kubernetesやってみた【minikube】

Last updated at Posted at 2019-07-24

004.png

kubernetesを触ってみたのでまとめてみました

目次

  1. 環境
  2. kubernetesについて
  3. minikube導入
  4. minikube起動
  5. ダッシュボードの起動
  6. サービスを作成してみる
  7. 後片付け
  8. 「Version string empty」エラーについて
  9. まとめ

環境

  • MacBook Pro (Retina, 15-inch, Mid 2015)

kubernetesについて

kubernetesというのは「コンテナを運用しやすくするオープンソースなプラットフォーム」です。
最近よく耳にするkubernetesですが、色々な環境があるんですねー。

よく耳にするものですと「minikube」でしょうか。
こちらは手元のローカル環境で動作させやすいkubernetesで、冗長性の担保はされてないですが動作が軽快だそうです。
minikubeのように手軽に試せる環境として「micro-k8s」、Iot(ラズパイなど)用のさらに軽量な「k3s」があります。

クラウド上のKubernetesとして、「GKS(Googleさん)」、「ACS(Microsoftさん)」、「EKS(Amazonさん)」が提供されており、共通の特徴としてWebGUIでコンテナを管理できます。

Macユーザーだと「Docker for Mac」を利用している方が多いのではないでしょうか。
「Docker for Mac」では設定を行うことでkubernetes環境が利用できます。

001.png
002.png

minikube導入

minikubeを利用してkubeってみましょう。過去に導入したものなので当時の導入手順は覚えてません。
がしかし、brew listコマンドで結果が返ってくるので恐らくbrewコマンドで導入したのだと思います。
うろ覚え申し訳ないです。

$ brew list  | grep kube
kubernetes-cli

$ brew cask list  | grep kube
minikube

下記リンクの手順で導入できるかと思います。

minikube起動

VMにvirtualBoxを指定してminikube起動

$ minikube start --vm-driver=virtualbox

$ minikube status

ダッシュボードの起動

# 下記コマンドでダッシュボード起動(ブラウザが開きます)
# minikubeのダッシュボードはターミナルで「Ctrl+c」で停止できます
$ minikube dashboard
$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080

「hello-minikube」を起動するコマンドを実行し、ブラウザにてダッシュボードのリロードを行うと「hello-minikube」のPodなどが追加されているのがわかりますね。

003.gif

サービスを作成してみる

# 「hello-minikube」を外部アドレスから参照できるようにする
$ kubectl expose deployment hello-minikube --type=NodePort
## 各種情報を確認してみる(ダッシュボードと同じ情報が出力されます)
$ kubectl get services
$ kubectl get pod
$ kubectl get deployments

後片付け

ダッシュボードで作業しても良いですが、せっかくなのでコマンドでお掃除してみましょう。

# サービスの削除
$ kubectl delete services hello-minikube

# デプロイの削除
$ kubectl delete deployment hello-minikube

# minikubeの停止
$ minikube stop

「Version string empty」エラーについて

minikube startした際にエラーが出ますが、issueを見た感じだと、バグのようです。
とりあえずは正常に動作するようなのでそのまま進めます。 ←エラー出るの気持ち悪いので詳しい方いましたらご指摘ください

$ minikube start
~~中略~~
E0710 15:47:42.634326   85156 start.go:210] Error parsing version semver:  Version string empty
~~中略~~
Everything looks great. Please enjoy minikube!

まとめ

今回は触りの部分だけ実践しましたが、やはり学習コストが高い印象。。。Dockerは割と取っ付きやすかったが。。。
慣れて管理工数が減れば両手を挙げて喜べますが、本番運用への道のりは長くなりそうですw

次回の記事ではymlファイルなどを定義して色々やってみようと思います。

5
6
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
5
6