<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Kubernetes on nnasaki のブログ</title>
    <link>https://blog.nnasaki.com/categories/kubernetes/</link>
    <description>Recent content in Kubernetes on nnasaki のブログ</description>
    <image>
      <title>nnasaki のブログ</title>
      <url>https://blog.nnasaki.com/ogp.png</url>
      <link>https://blog.nnasaki.com/ogp.png</link>
    </image>
    <generator>Hugo</generator>
    <language>ja-JP</language>
    <lastBuildDate>Tue, 28 Sep 2021 12:09:28 +0900</lastBuildDate>
    <atom:link href="https://blog.nnasaki.com/categories/kubernetes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kubernetes NGINX Ingress Controller v1.0.0 で 404 エラーになる問題の対処</title>
      <link>https://blog.nnasaki.com/entry/2021/09/28/120928/</link>
      <pubDate>Tue, 28 Sep 2021 12:09:28 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2021/09/28/120928/</guid>
      <description>&lt;h1 id=&#34;問題&#34;&gt;問題&lt;/h1&gt;
&lt;p&gt;AKS 上で NGINX Ingress Controller を使っていて、 v1.0.0 にアップグレードしたらサイトが404エラーになってしまった。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34; title=&#34;404&#34;&gt;&lt;span itemscope itemtype=&#34;http://schema.org/Photograph&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20210928114758.png&#34; alt=&#34;f:id:nnasaki:20210928114758p:plain&#34; width=&#34;319&#34; height=&#34;129&#34; loading=&#34;lazy&#34; title=&#34;&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;/span&gt;&lt;figcaption&gt;404&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h1 id=&#34;解析&#34;&gt;解析&lt;/h1&gt;
&lt;p&gt;ログを見ると以下エラーが出ていた。ingress class のバリデートでエラーが出たから Ingress を無効化したらしい。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I0927 15:01:58.774073       6 store.go:361] &amp;ldquo;Ignoring ingress because of error while validating ingress class&amp;rdquo; ingress=&amp;ldquo;mvp-staging/sitecore-ingress&amp;rdquo; error=&amp;ldquo;ingress does not contain a valid IngressClass&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34; title=&#34;エラーログ&#34;&gt;&lt;span itemscope itemtype=&#34;http://schema.org/Photograph&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20210928115240.png&#34; alt=&#34;f:id:nnasaki:20210928115240p:plain&#34; width=&#34;1200&#34; height=&#34;199&#34; loading=&#34;lazy&#34; title=&#34;&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;/span&gt;&lt;figcaption&gt;エラーログ&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;結構重要なログだと思うので Info じゃなくて、 Error 以上で出してほしい。。。&lt;/p&gt;
&lt;h1 id=&#34;原因&#34;&gt;原因&lt;/h1&gt;
&lt;p&gt;NGINX Ingress Controller v1.0.0 から ingressClass オブジェクト が必須となったため。&lt;/p&gt;
&lt;h1 id=&#34;対処&#34;&gt;対処&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;annotations&lt;/code&gt; に &lt;code&gt;kubernetes.io/ingress.class: &amp;quot;nginx&amp;quot;&lt;/code&gt; を追加。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34; title=&#34;対処例&#34;&gt;&lt;span itemscope itemtype=&#34;http://schema.org/Photograph&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20210928120417.png&#34; alt=&#34;f:id:nnasaki:20210928120417p:plain&#34; width=&#34;535&#34; height=&#34;298&#34; loading=&#34;lazy&#34; title=&#34;&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;/span&gt;&lt;figcaption&gt;対処例&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;本来であれば ingressClass オブジェクトを追加するほうが良いらしいが、ひとまずこれで動く。&lt;/p&gt;
&lt;p&gt;本問題とは別だが、対処例の &lt;code&gt;apiVersion&lt;/code&gt; も &lt;code&gt;networking.k8s.io/v1&lt;/code&gt; とするのが適切。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kubernetes v1.12 を Azure で動かしてみた</title>
      <link>https://blog.nnasaki.com/entry/2018/10/11/070000/</link>
      <pubDate>Thu, 11 Oct 2018 07:00:00 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2018/10/11/070000/</guid>
      <description>&lt;h3 id=&#34;kubernetes-v112-が-2018927-にリリースされました&#34;&gt;Kubernetes v1.12 が 2018/9/27 にリリースされました&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://kubernetes.io/blog/2018/09/27/kubernetes-1.12-kubelet-tls-bootstrap-and-azure-virtual-machine-scale-sets-vmss-move-to-general-availability/&#34;&gt;kubernetes.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今回のリリースでは Azure の VMSS(Virtual Machine Scale Sets) の対応がされました。これにより今までより早くノードが展開できることと、OSイメージによるノードの管理ができることが期待できます。&lt;/p&gt;
&lt;p&gt;リリースの詳細はこちらの記事を参照してください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://kubernetes.io/blog/2018/10/08/support-for-azure-vmss--cluster-autoscaler-and-user-assigned-identity/&#34;&gt;kubernetes.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;記事に書いてあるとおり、ACS(Azure Container Service) Engine ではすでに使えるようになっています。&lt;/p&gt;
&lt;p&gt;AKSの対応はまだですが、AKS の Service Level Objective (SLO) によるとマイナーバージョンアップは30日以内に対応するとあるので、今月末には使えるようになると思われます。&lt;/p&gt;
&lt;p&gt;SLO の詳細はこちらの記事を参照してください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.microsoft.com/ja-jp/azure/aks/supported-kubernetes-versions&#34;&gt;docs.microsoft.com&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;acs-engine-で-kubernetes-v112-を早速試してみた&#34;&gt;ACS Engine で Kubernetes v1.12 を早速試してみた&lt;/h3&gt;
&lt;p&gt;ACS Engine の作成方法などは後回しにして、結果から書きます。&lt;/p&gt;
&lt;h4 id=&#34;エージェントノードの展開は2分後半から4分前半で完了&#34;&gt;エージェントノードの展開は2分後半から4分前半で完了&lt;/h4&gt;
&lt;p&gt;検証環境はSouthEastAsiaで行いました。次の結果です。&lt;/p&gt;
&lt;p&gt;変更前ノード数
変更後ノード数
デプロイ時間(mm:ss)&lt;/p&gt;
&lt;p&gt;2                       &lt;br&gt;
5     &lt;br&gt;
02:17&lt;/p&gt;
&lt;p&gt;5                       &lt;br&gt;
30  &lt;br&gt;
03:54&lt;/p&gt;
&lt;p&gt;5                       &lt;br&gt;
30   &lt;br&gt;
04:08&lt;/p&gt;
&lt;p&gt;1                        &lt;br&gt;
30     &lt;br&gt;
04:16&lt;/p&gt;
&lt;p&gt;30                     &lt;br&gt;
5     &lt;br&gt;
01:47&lt;/p&gt;
&lt;p&gt;30                     &lt;br&gt;
1       &lt;br&gt;
02:52&lt;/p&gt;
&lt;p&gt;30                     &lt;br&gt;
1       &lt;br&gt;
02:18&lt;/p&gt;
&lt;p&gt;ノード数を増やす操作が少数の場合が2分台、30台ほどで4分台という感じです。
ノード数を減らす操作は1分〜2分というところです。&lt;/p&gt;
&lt;p&gt;十分高速かなと思います。&lt;/p&gt;
&lt;h3 id=&#34;検証方法&#34;&gt;検証方法&lt;/h3&gt;
&lt;p&gt;下記サイトを参照して行いました。詳細を書こうと思ったんですが力尽きました。。。 また別の機会に書きたいと思います。&lt;/p&gt;</description>
    </item>
    <item>
      <title>JAPAN CONTAINER DAYS V18.12に登壇します</title>
      <link>https://blog.nnasaki.com/entry/2018/10/01/073000/</link>
      <pubDate>Mon, 01 Oct 2018 07:30:00 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2018/10/01/073000/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://containerdays.jp/&#34;&gt;containerdays.jp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://medium.com/@containerdaysjp/v18-12%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%97%E3%83%AD%E3%83%9D%E3%83%BC%E3%82%B6%E3%83%AB%E9%81%B8%E5%AE%9A%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-97c134b237a3&#34;&gt;medium.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;なんとCFPが通りまして、JAPAN CONTAINER DAYS V18.12に登壇させていただけることになりました。嬉しい限りで本当に皆さんのおかげだなと思います。CFPの内容は次の通りです。&lt;/p&gt;
&lt;h3 id=&#34;タイトル&#34;&gt;タイトル&lt;/h3&gt;
&lt;p&gt;Jenkins x Kubernetesが簡単だと思ったら大変だった話&lt;/p&gt;
&lt;h3 id=&#34;概要&#34;&gt;概要&lt;/h3&gt;
&lt;p&gt;昨今、コンテナやkubernetesに対応したCI/CDツールはたくさんありますが、古くからあるJenkinsも当然対応しています。今回はプロダクション環境で実際に使用した経験から、Dockerビルドの苦労話や、Declarative Pipelineでコード化することでいわゆる「Jenkinsおじさん問題」を解決したことをお話しします。&lt;/p&gt;
&lt;p&gt;また、Jenkinsを実際運用するにあたって、パブリッククラウドの比較や連携方法も合わせてお話しします。&lt;/p&gt;
&lt;h2 id=&#34;なぜ応募したか&#34;&gt;なぜ応募したか？&lt;/h2&gt;
&lt;p&gt;理由は２つあると考えました。&lt;/p&gt;
&lt;p&gt;JAPAN CONTAINER DAYSはベンダー主催ではない公平な場であり、規模も自分にとってはde:code以来の大きさだと思いますので、自分の実力を試したいという気持ちがありました。なので、1つ目の理由は誰かのためというよりは自分のためですね。&lt;/p&gt;
&lt;p&gt;私はMicrosoft AzureのMVPなので、普段はMicrosoft系のコミュニティに参加することが多いです。コミュニティは「常連さん」みたいな感じで知り合いも多く、楽しいですし、とても居心地が良いです。しかし、そのままでは結局「内輪ウケ」にとどまってしまうと思い、Microsoft系以外のコミュニティに参加することがとても大事だと常々考えています。これはなにも突然思いついたことではなく、過去にも様々なコミュニティに参加させていただきました。&lt;/p&gt;
&lt;p&gt;つまり、もう一つの理由はMicrosoft系ではないコミュニティに参加することで、Microsoft Azureを普段リーチできない層に訴えかけることができる。と考えています。&lt;/p&gt;
&lt;h2 id=&#34;なにを伝えたいか&#34;&gt;なにを伝えたいか？&lt;/h2&gt;
&lt;p&gt;今回はAzure色はほとんどなく、CI/CDの考え方。kubernetesとどう連携させるか？その際ハマるポイントはどこか？という点をお伝えして、皆様が実際に構築・運用する際のヒントを持ち帰っていてだければと思っています。&lt;/p&gt;
&lt;p&gt;CFPに書いていたパブリッククラウドの比較については、主題から離れてぼやけてしまうのと、４０分にしてはちょっと盛り込みすぎ感がありますので、セッション構成上もしかしたら削ってしまうかもしれません。すみません。たとえ削ったとしても、それはそれでまた別な機会にお話させていただければと思います。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;12月は皆様にお会いできることを楽しみにしています。どうぞよろしくおねがいします！&lt;/p&gt;
&lt;p&gt;申込みはこちらから！&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://eventregist.com/e/containerdays1812&#34;&gt;eventregist.com&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;ちょっとだけ宣伝&#34;&gt;ちょっとだけ宣伝&lt;/h3&gt;
&lt;p&gt;Test Driven Development Boot Camp(TDDBC) 、テスト駆動開発のブートキャンプを10/20(土)に仙台で行います。気づいたら今年で8回目で震災後から毎年開催し、毎年TDD の伝道師、和田卓人(@t_wada)さんに来ていただいています。&lt;/p&gt;
&lt;p&gt;仙台の方も、遠方の方も是非お越しください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://tddbc.connpass.com/event/99555/&#34;&gt;tddbc.connpass.com&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;</description>
    </item>
    <item>
      <title>コンテナ管理はどれを選ぶべき？Azure Container Service で使用出来る Docker Swarm、Mesosphere DC/OS、 Kubernetes の3つを比較してみた。</title>
      <link>https://blog.nnasaki.com/entry/2017/05/11/060000/</link>
      <pubDate>Thu, 11 May 2017 06:00:00 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2017/05/11/060000/</guid>
      <description>&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508142056.png&#34; alt=&#34;f:id:nnasaki:20170508142056p:plain&#34; title=&#34;f:id:nnasaki:20170508142056p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508142056p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Azure Container Service ではオーケストレーションを選択する自由が有り、 Docker Swarm、Mesosphere DC/OS、 Kubernetes のいずれかを選べます。&lt;/p&gt;
&lt;p&gt;3つも選べることは良いことなのですが、初めて使うと正直どれを選べば良いか迷います。&lt;/p&gt;
&lt;h3 id=&#34;結論kubernetes-を選ぶべき&#34;&gt;結論：Kubernetes を選ぶべき&lt;/h3&gt;
&lt;p&gt;結論から先に言うと Kubernetes を選ぶべきだと思います。今回はあまり技術的な部分（アーキテクチャ、機能性、安定性、性能）は触れずに、自分が普段行っている比較でまとめてみました。&lt;/p&gt;
&lt;h3 id=&#34;理由1githubで比べる&#34;&gt;理由1：Githubで比べる&lt;/h3&gt;
&lt;p&gt;OSSのプロダクトでどれを選ぶべきか迷った場合は、GithubのPulseを参考にすると良いです。Docker Swarm、Mesosphere DC/OS、 Kubernetes のそれぞれ1ヶ月分を見ていきます。&lt;/p&gt;
&lt;h4 id=&#34;docker-swarm&#34;&gt;Docker Swarm&lt;/h4&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508130001.png&#34; alt=&#34;f:id:nnasaki:20170508130001p:plain&#34; title=&#34;f:id:nnasaki:20170508130001p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508130001p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/docker/swarm/pulse/monthly&#34;&gt;https://github.com/docker/swarm/pulse/monthly&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Star数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;4470 かなりある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PR数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;10 とかなり少ない&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Issue数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Close より Open のほうが多く若干良くない兆候&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Authors&lt;/li&gt;
&lt;li&gt;3人と少ない&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;mesosphere-dcos&#34;&gt;Mesosphere DC/OS&lt;/h4&gt;
&lt;p&gt;DC/OSはボリュームが少なかったので、marathonで比較した。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508140106.png&#34; alt=&#34;f:id:nnasaki:20170508140106p:plain&#34; title=&#34;f:id:nnasaki:20170508140106p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508140106p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/mesosphere/marathon/pulse/monthly&#34;&gt;https://github.com/mesosphere/marathon/pulse/monthly&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Star数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;3233 かなりある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PR数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;12 とかなり少ない&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Issue数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Close が多くて○&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Authors&lt;/li&gt;
&lt;li&gt;15人でまぁまぁ多い&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;kubernetes&#34;&gt;Kubernetes&lt;/h4&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508125935.png&#34; alt=&#34;f:id:nnasaki:20170508125935p:plain&#34; title=&#34;f:id:nnasaki:20170508125935p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508125935p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/kubernetes/kubernetes/pulse/monthly&#34;&gt;https://github.com/kubernetes/kubernetes/pulse/monthly&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Star数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;22956 他より一桁多い。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PR数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;886 他より一桁多い。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Issue数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Close は多いが新規もかなりある。Issueも溜まっており、品質は問題があるかもしれないが、それだけ叩かれているということでもある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Authors&lt;/li&gt;
&lt;li&gt;172人 他より一桁多い。&lt;/li&gt;
&lt;li&gt;特定の人物に偏りが無く、OSSの存続性が高いといえる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OSSは止まってしまわないことが重要だと考えていますので、とにかく勢いがある Kubernetes に軍配が上がると思います。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Container Service のエージェントを50にするとどうなるか？</title>
      <link>https://blog.nnasaki.com/entry/2017/05/10/060000/</link>
      <pubDate>Wed, 10 May 2017 06:00:00 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2017/05/10/060000/</guid>
      <description>&lt;p&gt;Azure Container Service を使用して kubernetes のノードを50にしてみました。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508121911.png&#34; alt=&#34;f:id:nnasaki:20170508121911p:plain&#34; title=&#34;f:id:nnasaki:20170508121911p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508121911p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id=&#34;vm数は53個&#34;&gt;VM数は53個&lt;/h3&gt;
&lt;p&gt;ノード50個にマスター3個で計53個になりました。圧巻です。リソースグループではネットワークインターフェンスなどがあるので計120個と表示されました。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508122051.png&#34; alt=&#34;f:id:nnasaki:20170508122051p:plain&#34; title=&#34;f:id:nnasaki:20170508122051p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508122051p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;CLIで仮想マシンをカウントするとキッチリ53個でした。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508122116.png&#34; alt=&#34;f:id:nnasaki:20170508122116p:plain&#34; title=&#34;f:id:nnasaki:20170508122116p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508122116p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id=&#34;ストレージアカウントは４つ&#34;&gt;ストレージアカウントは４つ&lt;/h3&gt;
&lt;p&gt;ノード3つにマスター1つになりました。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508122324.png&#34; alt=&#34;f:id:nnasaki:20170508122324p:plain&#34; title=&#34;f:id:nnasaki:20170508122324p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508122324p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;このように各ストレージアカウントに分散してOSディスク用のblobが作られます。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170508122443.png&#34; alt=&#34;f:id:nnasaki:20170508122443p:plain&#34; title=&#34;f:id:nnasaki:20170508122443p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170508122443p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;ノード20個ごとに1ストレージアカウントが作られました。&lt;/p&gt;
&lt;h4 id=&#34;tipsストレージアカウントの制限について&#34;&gt;TIPS:ストレージアカウントの制限について&lt;/h4&gt;
&lt;p&gt;ストレージアカウントごとにIOPSなどの制限があるので注意が必要です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.microsoft.com/ja-jp/azure/storage/storage-scalability-targets&#34;&gt;docs.microsoft.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;なお、管理ディスク(Managed Disk)を使用すればストレージアカウントの制限は無くなります。&lt;/p&gt;
&lt;h3 id=&#34;ノード変更操作中のコンテナの動作について&#34;&gt;ノード変更操作中のコンテナの動作について&lt;/h3&gt;
&lt;p&gt;50ノードとか課金が怖いので1時間もしないうちに5ノードに戻しましたチキンです。&lt;/p&gt;
&lt;p&gt;ノード数の変更中もまったく問題ありません。ダッシュボードもデプロイ済みのアプリケーションも問題なく繋がりました。&lt;/p&gt;
&lt;h3 id=&#34;まとめ&#34;&gt;まとめ&lt;/h3&gt;
&lt;p&gt;Azure Container Service のエージェント数の変更はまったく問題がありませんでしたが、ストレージアカウントの制限は気になるので 管理ディスク(Managed Disk) の対応が早くされると良いなと思います。 ACS-Engine の Issue や kubenetes の issue を見ると、kubenetes の 管理ディスク(Managed Disk) 対応はもう少し先になりそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Azure/acs-engine/issues/523&#34;&gt;github.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/kubernetes/kubernetes/pull/41950&#34;&gt;github.com&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;</description>
    </item>
    <item>
      <title>Azure Container Service を節約して使う</title>
      <link>https://blog.nnasaki.com/entry/2017/05/09/060000/</link>
      <pubDate>Tue, 09 May 2017 06:00:00 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2017/05/09/060000/</guid>
      <description>&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170507230317.png&#34; alt=&#34;f:id:nnasaki:20170507230317p:plain&#34; title=&#34;f:id:nnasaki:20170507230317p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170507230317p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Azure Container Service で Kubernetes を使う記事を前回書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://blog.nnasaki.com/entry/2017/05/07/133840&#34;&gt;blog.nnasaki.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今回は Azure Container Service(ACS) を立ち上げっぱなしにしているとお金が結構かかるので、節約する方法をご紹介します。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;EXTENDED BODY:&lt;/p&gt;
&lt;h3 id=&#34;azure-contaner-service-の料金について&#34;&gt;Azure Contaner Service の料金について&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://azure.microsoft.com/ja-jp/pricing/details/container-service/&#34;&gt;azure.microsoft.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;**ACS は、Virtual Machines (VM) をコンテナー サービスにクラスタリングする無料のサービスです。VM と、関連するストレージとネットワーク リソースの使用した分だけをお支払いいただきます。&lt;/p&gt;
&lt;p&gt;と、書いてあるとおりでコンテナーの管理サービスは無料ですが、中で動くVMなどのリソースの分お金がかかります。&lt;/p&gt;
&lt;p&gt;具体的には今回サンプルで作ったリソースグループ内は全部で30リソースあり、次のようになっています。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170507224134.png&#34; alt=&#34;f:id:nnasaki:20170507224134p:plain&#34; title=&#34;f:id:nnasaki:20170507224134p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170507224134p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170507224159.png&#34; alt=&#34;f:id:nnasaki:20170507224159p:plain&#34; title=&#34;f:id:nnasaki:20170507224159p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170507224159p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170507224220.png&#34; alt=&#34;f:id:nnasaki:20170507224220p:plain&#34; title=&#34;f:id:nnasaki:20170507224220p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170507224220p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;特に仮想マシンはノード5つ分とマスター3つ分で合計8台あります。F2sで作成しましたので、8,727.12(円/月) * 8 (台) = 69,816.96(円/月)と中々痛い金額になってしまいます。&lt;/p&gt;
&lt;p&gt;その他ストレージやパブリックIPアドレスなども出費はあるのですが、仮想マシンと比べれば微々たるものです。&lt;/p&gt;
&lt;h3 id=&#34;仮想マシンを使わないときは割当を解除する&#34;&gt;仮想マシンを使わないときは割当を解除する&lt;/h3&gt;
&lt;p&gt;結論から言うと、Azure CLI などを使用してリソースグループ内の仮想マシンをすべて割当を解除**すれば良いです。コマンドはこちらです。&lt;code&gt;k8s-southeastasia&lt;/code&gt;をお使いのリソースグループ名に置換してください。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;az vm deallocate --ids $(az vm list -g k8s-southeastasia --query &amp;#34;[].id&amp;#34; -o tsv) --no-wait
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;--ids&lt;/code&gt; オプションで複数のリソースIDを受け取って処理してくれます。&lt;/p&gt;
&lt;h3 id=&#34;仮想マシンを使うときに開始する&#34;&gt;仮想マシンを使うときに開始する&lt;/h3&gt;
&lt;p&gt;開始もほぼ同様に次の通りです。同じように&lt;code&gt;k8s-southeastasia&lt;/code&gt;をお使いのリソースグループ名に置換してください。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;az vm start --ids $(az vm list -g k8s-southeastasia --query &amp;#34;[].id&amp;#34; -o tsv) --no-wait
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;tips仮想マシンをシャットダウンするだけでは課金は止まらない&#34;&gt;Tips：仮想マシンをシャットダウンするだけでは課金は止まらない&lt;/h3&gt;
&lt;p&gt;実は &lt;code&gt;stop&lt;/code&gt; というコマンドもあるんですが、こちらは&lt;strong&gt;仮想マシンをシャットダウンをするだけで割当を解除しません。&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Container Service 上の Kubernetes に Spring Bootをデプロイ</title>
      <link>https://blog.nnasaki.com/entry/2017/05/07/133840/</link>
      <pubDate>Sun, 07 May 2017 13:38:40 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2017/05/07/133840/</guid>
      <description>&lt;p&gt;メイドさんが大好きなフリーランスのプログラマーさんが Azure Container Service について記事を書いていたので、自分も使ってみました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://blog.shibayan.jp/entry/20170503/1493785246&#34;&gt;blog.shibayan.jp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Azure Container Service は Marathon と DC/OS、Docker Swarm、または Kubernetes を使えます。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504215826.png&#34; alt=&#34;f:id:nnasaki:20170504215826p:plain&#34; title=&#34;f:id:nnasaki:20170504215826p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504215826p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.microsoft.com/ja-jp/azure/container-service/container-service-intro&#34;&gt;Azure クラウドでの Docker コンテナーのホスト | Microsoft Docs&lt;/a&gt; より&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;EXTENDED BODY:&lt;/p&gt;
&lt;p&gt;しばやんが Kubernetes を使用していたので、違うのにしようかなと思いましたが、 Kubernetes を使用することにしました。&lt;/p&gt;
&lt;h3 id=&#34;azure-container-service-を作成する&#34;&gt;Azure Container Service を作成する&lt;/h3&gt;
&lt;p&gt;Orchestrator を Kubernetes で選びます。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504220005.png&#34; alt=&#34;f:id:nnasaki:20170504220005p:plain&#34; title=&#34;f:id:nnasaki:20170504220005p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504220005p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;SSH public key と Service Principal の設定がちょっと難しいですが、[i] の部分にマウスカーソルを合わせるとヘルプが出てくるので、それに従って進めていけばなんとかなります。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504220413.png&#34; alt=&#34;f:id:nnasaki:20170504220413p:plain&#34; title=&#34;f:id:nnasaki:20170504220413p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504220413p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Agent は5つで、CPU4コアでメモリ8Gとバランスが良い F4S を選んでみました。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504221052.png&#34; alt=&#34;f:id:nnasaki:20170504221052p:plain&#34; title=&#34;f:id:nnasaki:20170504221052p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504221052p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;検証に成功したのでOKを押してしばらく待ちます。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504221241.png&#34; alt=&#34;f:id:nnasaki:20170504221241p:plain&#34; title=&#34;f:id:nnasaki:20170504221241p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504221241p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;コーヒーでも入れてゆっくりしようかと思ったらエラーで失敗してしまいました。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504221636.png&#34; alt=&#34;f:id:nnasaki:20170504221636p:plain&#34; title=&#34;f:id:nnasaki:20170504221636p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504221636p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;東日本は私のサブスクリプションではどうやらダメみたいなので、東南アジアの Standard_D2 で作り直します。&lt;/p&gt;
&lt;p&gt;再デプロイをポチッと押して、変更します。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504221858.png&#34; alt=&#34;f:id:nnasaki:20170504221858p:plain&#34; title=&#34;f:id:nnasaki:20170504221858p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504221858p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504222717.png&#34; alt=&#34;f:id:nnasaki:20170504222717p:plain&#34; title=&#34;f:id:nnasaki:20170504222717p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504222717p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Marketplace から購入したわけじゃないけど、チェックを入れて購入を押します。&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;https://blog.nnasaki.com/images/20170504222153.png&#34; alt=&#34;f:id:nnasaki:20170504222153p:plain&#34; title=&#34;f:id:nnasaki:20170504222153p:plain&#34; class=&#34;hatena-fotolife&#34; itemprop=&#34;image&#34;&gt;&lt;figcaption&gt;f:id:nnasaki:20170504222153p:plain&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;前は失敗すると、また一から作り直しだったんですが便利になりました。&lt;/p&gt;
&lt;p&gt;東南アジアになってしまったのが不本意ですが、無事作成出来ました。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
