Below you will find pages that utilize the taxonomy term “Minikube”
kubenetes導入顛末記 その2
その1でとりあえず動作するところまで確認できたので、ここからはチュートリアルに沿ってやってみる。
https://kubernetes.io/docs/tutorials/hello-minikube/
nodeアプリケーション作成
server.jsというhello worldを作成。
node server.jsで動作確認して問題ないことを確認。
Docker Containerイメージ作成
Dockerfileを作成。
以下のコマンドで環境変数を設定。そしてビルド。
eval $(minikube docker-env)
docker build -t hello-node:v1 .
`
`Deployment作成
以下のコマンドでPodも作成されて動いているらしい。
でも、ローカルIPからしか接続できないらしい。試しにminikube sshでログインしてみたけども8080ポートで待ち受けているプロセスはなかった。。nodeコマンドは動作中だったので他のポートで待っているみたいだけど。どこで変換しているのか。。
kubectl run hello-node --image=hello-node:v1 --port=8080 --image-pull-policy=Never
Service作成
外からもアクセスできるようにServiceを作成する。
kubectl expose deployment hello-node --type=LoadBalancer
以下のコマンドで得られるURLにアクセスすると無事に表示される。どのポートで待っているのかの謎はこれで解ける。でも、ポートが8080ではないんだな。なんでだろ。
minikube service --url hello-node
アクセスログは以下で参照できた。pod-nameも補完してくれて良い感じ。
kubectl logs <POD-NAME>
アプリの更新
Docker Containerイメージを作成してDeploymentを更新。
docker build -t hello-node:v2 .
kubectl set image deployment/hello-node hello-node=hello-node:v2
これだけで新しいイメージが使われるようになった。Dashboardでも確認。
heapster addonの有効化
性能監視用のaddonらしい。以下で有効にするとdashboardのoverviewでCPUとメモリのグラフが表示されて、ほかのところにもそういった情報が追加される。
minikube addons enable heapster
Clean up
作成したものを削除する。
kubenetes導入顛末記 その1
前置き
コンテナに触れようと思い、kubenetesを導入することにしたので、その記録。
導入先はUbuntu 16.04の物理サーバ1台です。
導入方法の決定
kubenetesの導入方法はいろいろあるようですが、とりあえず動かしたいならminikubeがおすすめと記載があるのでそれに従う。
選び方はこちら。
選んだのは、Running Kubernetes Locally via Minikube。
Kubenetes導入の前にHypervisor導入
手順を見ていくと最初にHypervisorを入れろとある。ただ、VM上に構築しないという手もあるらしい。
記載順などからVirtual Boxが良さそうなのでVirtualBoxを採用。
ということで、まずはVirtualBoxの導入。以下のURLに従ってaptのsourceを指定してインストール。
https://www.virtualbox.org/wiki/Linux_Downloads
minikube導入の前にkubectl導入
以下の通り、こちらもaptのsourceを設定してinstall。
https://kubernetes.io/docs/tasks/tools/install-kubectl/
ちなみにこの状態で kubectl cluster-infoを実行すると以下の通り。
$ kubectl cluster-info
Kubernetes master is running at http://localhost:8080
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server localhost:8080 was refused - did you specify the right host or port?
kubectlのautocompletion設定
ここも前述のガイドにならって設定する。
echo "source <(kubectl completion bash)" >> ~/.bashrc
minikubeの導入
ここでようやくminikubeの導入。