LoginSignup
1
0

More than 5 years have passed since last update.

Azure Kubernetes Service クイック スタートでk8sでのデプロイの概要を掴む

Posted at

はじめに

クイック スタート: Azure Kubernetes Service (AKS) クラスターのデプロイに沿って、
AKSでk8s1のクラスタをデプロイしました。
ポータルを操作してk8sクラスタのリソースを作成し、
クラウドシェルでコマンド入力してデプロイしています。

前提

私のレベル感ですが、k8sを勉強し始めた段階です。

  • Dockerを独学し、docker-composeでVPSに複数コンテナをデプロイできるようになった
  • docker-composeは本番環境には適さないことを知り、k8sを勉強し始める

後述するハンズオンでGCPでk8sを触った経験から、今回Azureでもk8sを試してみました。

k8sクラスタリソース作成(ポータル操作)

クイックスタートに沿って進めます。
0-create_k8s_service.png
「ノードサイズ」ですが、クイックスタートのDS1v2インスタンス(1vcpu、3.5GBメモリ)と同程度のサイズで費用を抑えられるVMインスタンスを選択しました。
1-cluster_basic.png
2-cluster_authentication.png
3-cluster_networking.png
4-cluster_monitor.png
監視まで設定したら「確認および作成」をクリック。
5-pass_verification.png
作成を押してからmyAKSClusterリソースが作られるまで15〜20分ほどかかりました。(VMのスペックが低いのが原因でしょうか?)
6-cluster_created.png

クラウドシェルからデプロイ

クイックスタートに沿って、viエディタでyamlファイルを作成し、kubectlコマンドでデプロイしました。

$ az aks get-credentials --resource-group aks-quickstart-201808 --name myAKSCluster
$ kubectl get nodes
$ vi azure-vote.yaml
$ kubectl create -f azure-vote.yaml
$ kubectl get service azure-vote-front --watch

yamlファイルにはbackとfrontそれぞれにDeploymentとServiceを定義しています。
azure-vote-frontサービスに振られた外部IPアドレスにアクセス。
7-aks_quickstart_vote_app.png
ブラウザをリロードすると、直前に押したボタンのカウントが1増えるという動きをしました。
このあたりはソースを確認してみようと思います。(宿題事項)

yamlファイルのソースコードを取得する

先日たくさんのアプリをGKEにk8sでデプロイするというハンズオン2に参加しました。
ソースのyamlファイルが取得できれば、Azureでもk8sでデプロイできるだろうという感触があったので試してみました。

$ wget --no-check-certificate https://github.com/HaraShun/kubernetes.rb/archive/master.tar.gz
$ tar xpvf master.tar.gz
$ cd kubernetes.rb-master/03_sinatra/k8s/
$ kubectl apply -f deployment.yaml
$ kubectl apply -f service.yaml
$ kubectl get svc -w

sinatraのアプリがデプロイできたので、ほかもAzureでデプロイできそうという感触です。
8-gcp_k8s_handson_sinatra.png

まとめ

vi系エディタでも、ソースコード取得でもyamlファイルが配置できれば、kubectlコマンドからデプロイできることがわかりました。

今後はk8sのyamlファイルが自在に書けるように学習を進めます。

おまけ: 監視について

クイックスタートに沿って確認してみました。
myAKSClusterリソース選択後、「正常性」(赤枠)から遷移します。
9-monitor_cluster.png
10-metric_cluster.png
11-metric_nodes.png
12-metric_controllers.png
13-metric_containers.png
クイックスタートにはContainersに「ログの表示」リンクがあると記載されているのですが、見当たりませんでした。
14-no_link_to_container_log.png


  1. Kubernetesの略称。字数が少なくなるので私はこの表記を多用します。同様の短縮の仕方にi18nがありますね。 

  2. 講義スライド: https://docs.google.com/presentation/d/1_mQJQ0Yz1zJHqUPefNYNPfx5mjHEbfRwTzUOaWi8vZ8/edit#slide=id.p 勉強会ページ: 【サポーターズCoLab勉強会】Kubernetes(GKE)ハンズオン勉強会 

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