KubeWeekly #189

KubeWeeklyは毎週Kubernetesに関する興味深いニュースを提供しています。（https://kubeweekly.io/ ）この記事は 2019/10/17に発行された [Kube Weekly #189](https://kubeweekly.io/2019/10/17/kubeweekly-189-17-oct-2019/)を読んで、感じたことをメモ的にまとめたものです。
私の勘違いや説明不足による誤解もあるかと思いますので、この記事読んで「おっ」と思ったらURLを辿って本文を確認してください。

(過去のKubeWeekly読書メモは[こちら](https://qiita.com/tags/kubeweekly))

※この記事は、[Z Lab](https://qiita.com/organizations/zlab)の業務の一環として作成したものです。
(いつもそうだったのですが、今回から明記します)



# The Headlines

## GitLab's unconventional journey to CI/CD and Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://about.gitlab.com/blog/2019/10/03/gitlab-journey-to-cicd/">GitLab's unconventional journey to CI/CD and Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://about.gitlab.com/images/blogimages/raphael-biscaldi-cicd.jpg"></td>
  <td>How the Delivery team at GitLab used our existing resources to overhaul our system to make way for CI/CD.</td>
</tr>
</table>

GitLab社のKubernetes化、CI/CD化についての取り組みの話。
月に1回のリリースサイクルを持つGitLabですが、そのリリースを検証・デプロイするのに多くの労力を費やしていました。
そこでシステムをKubernetes化する前に、CI/CDについてのマインドセットを改め、CI/CDを整備することを先に行うことにしたようです。

これによりデプロイ周りの手動タスクが激減し、余った時間でKubernetesへの移行を推進できているとのことです。

Kubernetesへのマイグレーションを考えている方には参考になる事例でしょう。

## Contributor Summit San Diego Schedule Announced!
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/blog/2019/10/10/contributor-summit-san-diego-schedule/">Contributor Summit San Diego Schedule Announced!</a></td>
</tr>
<tr>
  <td><img src="https://kubernetes.io//images/blog/2019-10-10-contributor-summit-san-diego-schedule/DSCF0806.jpg"></td>
  <td>Authors: Josh Berkus (Red Hat), Paris Pittman (Google), Jonas Rosland (VMware)
tl;dr A week ago we announced that registration is open for the contributor summit , and we’re now live with the full Contributor Summit schedule! Grab your spot while tickets are still available. There is currently a waitlist for new contributor workshop. (Register here!)
There are many great sessions planned for the Contributor Summit, spread across five rooms of current contributor content in addition to the new contributor workshops.</td>
</tr>
</table>

KubeCon + CloudNativeConの前に開催されるサンディエゴでのContributor Summitのスケジュールが公開されました。

https://events19.linuxfoundation.org/events/kubernetes-contributor-summit-north-america-2019/program/schedule/

# The Technical

## How Zalando manages 140+ Kubernetes Clusters
<table>
<tr>
  <td colspan="2"><a href="https://srcco.de/posts/how-zalando-manages-140-kubernetes-clusters.html">How Zalando manages 140+ Kubernetes Clusters</a></td>
</tr>
<tr>
  <td><img src="https://srcco.de/galleries/how-zalando-manages-140-clusters/kube-web-view-clusters.png"></td>
  <td>Recently I was asked "how do you manage that many Kubernetes clusters?".
This post tries to provide some insights on how we manage 140+ Kubernetes clusters on AWS at Zalando.

I already wrote a blog p</td>
</tr>
</table>


Zalando社の140以上のKubernetesクラスタを管理する方法を紹介。

オープンソースをうまく活用しながら、独自で必要なツールを作り込んでいる印象です。Zalando社オリジナルのツールについても多くがオープンソース化されているようです。

## Kubernetes Security Best Practices [Video and Demo] · StackRox: Cloud-Native, Container, and Kubernetes Security
<table>
<tr>
  <td colspan="2"><a href="https://www.stackrox.com/post/2019/10/kubernetes-security-best-practices-video-and-demo/">Kubernetes Security Best Practices [Video and Demo] · StackRox: Cloud-Native, Container, and Kubernetes Security</a></td>
</tr>
<tr>
  <td><img src="https://res.cloudinary.com/stackrox/v1570830716/10.11_BlogHeader_StackRox_nuwyb1.png"></td>
  <td>StackRox's Connor Gorman talks about Kubernetes security and shares best practices aimed at reducing the risk and attack surface of your clusters.</td>
</tr>
</table>

Kubernetesのセキュリティベストプラクティスについてのプレゼンのサマリ。
7角形の図で表された、セキュリティで考慮すべき点という図がわかりやすい。

内容としては以前紹介した同ブログの[この記事](https://qiita.com/inajob/items/b6f7868b1353093a75a5#kubernetes-security-101---everything-you-must-know-to-secure-k8s--stackrox-container-security-for-docker-and-kubernetes)とよく似ている。

## Cloud Controller Manager | Blog | CloudYuga
<table>
<tr>
  <td colspan="2"><a href="https://cloudyuga.guru/blog/cloud-controller-manager">Cloud Controller Manager | Blog | CloudYuga</a></td>
</tr>
<tr>
  <td><img src="https://raw.githubusercontent.com/cloudyuga/site-images/master/blogs/Sept-19/CCM%20(1).png"></td>
  <td>How Kubernetes Communicates with Underlying Cloud Infrastructure to manage Load Balancers, Nodes etc.  </td>
</tr>
</table>

Kubernetesを構成するコンポーネントの一つであるCloud Controller Manager(CCM)について紹介した記事。
実際にDigitalOcean上でCCMを使うようにしたクラスタを使ったデモを紹介している。

## How To Build and Deploy a Node.js Application To DigitalOcean Kubernetes Using Semaphore Continuous Integration and Delivery | DigitalOcean
<table>
<tr>
  <td colspan="2"><a href="https://www.digitalocean.com/community/tutorials/how-to-build-and-deploy-a-node-js-application-to-digitalocean-kubernetes-using-semaphore-continuous-integration-and-delivery">How To Build and Deploy a Node.js Application To DigitalOcean Kubernetes Using Semaphore Continuous Integration and Delivery | DigitalOcean</a></td>
</tr>
<tr>
  <td><img src="https://digitalocean.cdn.prismic.io/digitalocean%2Ff7af7f25-db78-40d1-ad9f-7b1c23366b02_kubernetes.svg"></td>
  <td>In this tutorial, you’ll build an address book API service with Node.js and use Semaphore to test, build, and deploy it to DigitalOcean Kubernetes and DigitalOcean Managed PostgreSQL.</td>
</tr>
</table>

[Semaphore](https://semaphoreci.com/)を使ってDigitalOcean上のKubernetesにアプリケーションをデプロイする方法を紹介。

## How do you rollback deployments in Kubernetes?
<table>
<tr>
  <td colspan="2"><a href="https://learnk8s.io/kubernetes-rollbacks">How do you rollback deployments in Kubernetes?</a></td>
</tr>
<tr>
  <td><img src="https://learnk8s.io/a/c4beabbc0e974fd220dd5f132fb7f428.png"></td>
  <td>When you introduce a change that breaks production, you should have a plan to roll back that change. Kubernetes and kubectl offer a simple mechanism to roll back changes to resources such as Deployments, StatefulSets and DaemonSets.</td>
</tr>
</table>

DeplyomentとReplicaSet,Podの関係を詳しく紹介し、さらにRolloutについても説明している。
このサイトは紙芝居方式の図の紹介があり、初学者にとってわかりやすくなっているのが印象的です。

## GitOps
<table>
<tr>
  <td colspan="2"><a href="https://www.gitops.tech/">GitOps</a></td>
</tr>
<tr>
  <td><img src="https://www.gitops.tech//images/push.png"></td>
  <td>GitOps is Continuous Deployment for cloud native applications</td>
</tr>
</table>

GitOpsについての紹介サイトができたようです。
簡潔な考え方の説明、典型的なパターンの図示、FAQ、利用できるツールの紹介など。

## Kubernetes Journey — Up and running out of the cloud — Linux Image
<table>
<tr>
  <td colspan="2"><a href="https://itnext.io/kubernetes-journey-up-and-running-out-of-the-cloud-linux-image-c51953e50d0e">Kubernetes Journey — Up and running out of the cloud — Linux Image</a></td>
</tr>
<tr>
  <td><img src="https://miro.medium.com/max/1200/1*ilv3FwnewlHaWNqpB1Qd2A.jpeg"></td>
  <td>Here we configure the Debian/Ubuntu Linux image that will serve as the basis for all the other components of our tech stack…</td>
</tr>
</table>

Kubernetesクラスタ構築のチュートリアルを紹介していくブログシリーズ。
今回はLinuxイメージについて。パーティショニングと、最低限入れておくべきパッケージについて紹介している。

この連載を通して作成するKubernetesクラスタは下記リポジトリで管理しているもののようです。

<table>
<tr>
  <td colspan="2"><a href="https://github.com/mvallim/kubernetes-under-the-hood">mvallim/kubernetes-under-the-hood</a></td>
</tr>
<tr>
  <td><img src="https://repository-images.githubusercontent.com/174928611/9f05a100-9a9d-11e9-8d5b-323719a183e7"></td>
  <td>This tutorial is someone planning to install a Kubernetes cluster and wants to understand how everything fits together. - mvallim/kubernetes-under-the-hood</td>
</tr>
</table>

# The Editorial

## Analyzing VMWare, Docker, and Kubernetes Trends
<table>
<tr>
  <td colspan="2"><a href="https://brianchristner.io/analyzing-vmware-docker-kubernetes-trends/">Analyzing VMWare, Docker, and Kubernetes Trends</a></td>
</tr>
<tr>
  <td><img src="https://brianchristner.io/content/images/2019/10/k8s-docker-trends-2.png"></td>
  <td>We take a look at VMware, Docker, and Kubernetes Google Trends to understand the popularity according to Google and the direction we are going with each technology.</td>
</tr>
</table>

Googleトレンドを使って、VMWare,Docker,Kubernetesのトレンドを分析する記事。
トレンドが比較的大きいからそれらが市場で最も利用されているというものでもないが、一つの指標として面白いと感じました。

Googleトレンドは地域でも絞り込むことができるので、”日本”での結果を比べてみるのも面白そうです。

## Comparing Ingress controllers for Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://medium.com/flant-com/comparing-ingress-controllers-for-kubernetes-9b397483b46b">Comparing Ingress controllers for Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://miro.medium.com/max/780/0*T8HHT1cjCQ3Po4SB.png"></td>
  <td>11 Open Source solutions including NGINX, Traefik, Istio, HAProxy, Gloo, Ambassador, Skipper and others</td>
</tr>
</table>

Kubernetesで利用できる様々なIngress Controllerの比較記事。
比較の観点も詳しく説明されており、Ingress Controller選定の参考になりそう。

似たような比較記事のリンク集も掲載されている。

## To Prepare for Automation, Stay Curious and Don’t Stop Learning
<table>
<tr>
  <td colspan="2"><a href="https://hbr.org/2019/10/to-prepare-for-automation-stay-curious-and-dont-stop-learning">To Prepare for Automation, Stay Curious and Don’t Stop Learning</a></td>
</tr>
<tr>
  <td><img src="https://hbr.org/resources/images/hbr_opengraph_940x490.png"></td>
  <td>Being proactive will keep your skills relevant.</td>
</tr>
</table>

AI人材をどう育成するか、AI時代に求められる能力とは？みたいなことが書かれている記事
AIの活用という文脈で自動化についても述べられており、そういった点でKubernetesとも関連がある、ということなのかな？
（途中で力尽きました・・）

## Demystifying Persistent Storage Myths for Stateful Workloads in Kubernetes - Container Journal
<table>
<tr>
  <td colspan="2"><a href="https://containerjournal.com/topics/container-networking/demystifying-persistent-storage-myths-for-stateful-workloads-in-kubernetes/">Demystifying Persistent Storage Myths for Stateful Workloads in Kubernetes - Container Journal</a></td>
</tr>
<tr>
  <td><img src="https://containerjournal.com/wp-content/uploads/2019/06/Aqua-Security-Patching.jpg"></td>
  <td>Kubernetes is everywhere now. If you are moving or have moved your workloads to containers and still want to keep up with virtual machines, Kubernetes can</td>
</tr>
</table>

Kubernetesの備えるStatefulアプリケーションサポート機能についての概要の紹介。
CSIやDynamicProvisioningなど

## How to make containers an architect’s best friend - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2019/10/10/how-to-make-containers-an-architects-best-friend/">How to make containers an architect’s best friend - Cloud Native Computing Foundation</a></td>
</tr>
<tr>
  <td><img src="https://www.cncf.io/wp-content/uploads/2017/12/icon_cncf_twitter.png"></td>
  <td>Guest post by Anil Kumar, Director of product management, Couchbase Digital transformation is radically reshaping the way organisations across the globe do business. Empowered by DevOps practices, IT teams are...</td>
</tr>
</table>

コンテナの台頭により、今新たに発生している問題は、コンテナ化できないレガシーなデータベースとコンテナ化されたアプリケーションの間のギャップであるということを紹介している。
これらのギャップを埋めるソリューションも出てきており、これらをどのように活用していくかが、アーキテクトに求められているとのこと。


## How Booz Allen Hamilton is Helping Modernize the Federal Government with Kubernetes - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2019/10/11/how-booz-allen-hamilton-is-helping-modernize-the-federal-government-with-kubernetes/">How Booz Allen Hamilton is Helping Modernize the Federal Government with Kubernetes - Cloud Native Computing Foundation</a></td>
</tr>
<tr>
  <td><img src="https://www.cncf.io/wp-content/uploads/2017/12/icon_cncf_twitter.png"></td>
  <td>The next time you book a campsite or activity at a U.S. National Park, thank Kubernetes for making it quick and easy.  As part of the White House’s IT modernization...</td>
</tr>
</table>

アメリカの政府機関のITシステムをKubernetesで刷新している話のケーススタディ