書籍「Dockerによるアプリケーション開発環境構築ガイド
Dockerを勉強するために購入した書籍「Dockerによるアプリケーション開発環境構築ガイド(櫻井洋一郎、村崎大輔[著] ISBN978-4-8339-6458-0)」に掲載されていた演習をやった。
Chapter5を少しやったところで少し手間取った箇所があったので、メモしておく。おそらく執筆時点からクラウドベンダー(google)の仕様が細かく変わったりしていてなかなか難儀ですね。。。手順間違いなどで自分の環境でだけ発生しているのかもしれないので参考程度に。
1. minikube環境作成 (p287-p289)
(1) minikube ip ( コマンド 5-3-1-3)
実行してもipアドレスは表示されない。どうやら minikube startしていない段階では表示されない模様。のちのステップでminikube startで起動できた後には ipアドレスが表示されるようになった。
(2) minikubeのVM起動に失敗。
P287記載の通り、仮想マシンをインストールしておく必要があった。
この辺り行間を読んで自身の環境に合わせておくことが期待されている模様。
私は brew cask install virtualboxでvirtualboxをインストール。
一応 minikubeをアンインストールご、もう一度 brew cask install minikubeを実行。
minikube start が正常実行できました。
2. ダッシュボードの表示 (p292,p293)
どうやら現時点2019/2ではダッシュボードのモジュールは最初はインストールされていないようです。
minikube service listでみても出てきません。
こちらに記載の手順でマニュアルデプロイが必要でした。
https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
以下のコマンドでダッシュボードをデプロイ
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
その後、以下のURLでダッシュボードにアクセス
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/.
ダッシュボードの入り口まで表示されますが、現在のバージョンでは認証が求められます。
こちらのURLを参考に、管理者権限を作り、管理者のTokenを入力してSign Inすることでダッシュボードとご対面できました。
https://qiita.com/h-sakano/items/79bb15f7a0661e141c75
3. Kubernetes-dashboardにアクセスできない。(p343)
localhost:8001でアクセスできませんでした。以下を修正して表示できるようになりました。
(1) クラスターを作成するときに折りたたまれている「詳細オプション」を展開して出てくる「Kubernetesダッシュボードを有効にする」にチェックを入れる。
(GKEにはGKEコンソールというのがあり、GCPとしてはKubernetes-dashboardではなくそちらを使ってほしいという意図があるようですね。。)
(2) p338-p339のSDKのインストールを対話型インストールで実行
(https://cloud.google.com/sdk/downloads?hl=ja)
(3) gcloud auth 完了後に、以下を実行
gcloud config set project プロジェクトID
(4) 管理画面にアクセスする前に以下のコマンドを実行
kubectl proxy
# p343の冒頭に”proxyが起動したら”は"proxyを起動したら”と解釈。
(5) http://localhost:81/ui ではアクセスできなかったので、以下でアクセスして成功
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/.
(6) アドミンユーザーはこちらの手順に再びお世話になりました。
https://qiita.com/h-sakano/items/79bb15f7a0661e141c75
最後に
本書、なかなかの良書と感じています。掲載されている手順に関しては完成度にまだ改善の余地ありですが、完成度よりも鮮度も大事な世の中なので感謝しています。
QiitaにもKubernetesの投稿が増えて、技術情報が沢山あるんですね。
色々苦労しながらも、おかげさまでなんとかChapter05を完走できました。
初めてGCPとGKEを触ってみましたが便利ですね。最後の方はIngressなどでてきたりして、ちょっとわからないまま進んだところもありましたので、復習していこうと思います。