KubeWeekly #190

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

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

※この記事は、[Z Lab](https://qiita.com/organizations/zlab)の業務の一環として作成したものです。

# The Headlines

## FoundationDB Summit 2019 - November 18 | San Diego, CA
<table>
<tr>
  <td colspan="2"><a href="https://events19.linuxfoundation.org/events/foundationdb-summit-2019/">FoundationDB Summit 2019 - November 18 | San Diego, CA</a></td>
</tr>
<tr>
  <td><img src="https://events19.linuxfoundation.org/wp-content/uploads/2019/07/fdb-summit-bg-02.jpg"></td>
  <td>FoundationDB Summit is a technical conference organized by the FoundationDB community for companies and developers using FoundationDB, the recently open-sourced distributed database. At this inaugural event, we'll be organized on a single track with plenty of time to meet and learn from early adopters, core developers, and other community members.</td>
</tr>
</table>

KubeCon + CloudNativeConのDay0のイベントとして開催されるFoundationDBのサミットの紹介。

## Thinking in Kubernetes (K8s)
<table>
<tr>
  <td colspan="2"><a href="https://medium.com/better-programming/thinking-in-kubernetes-k8s-3770bf14c463">Thinking in Kubernetes (K8s)</a></td>
</tr>
<tr>
  <td><img src="https://miro.medium.com/max/1200/1*Ole3feAoD9-0-gGzpAxbjA.jpeg"></td>
  <td>Calibrate your brain before your cluster</td>
</tr>
</table>

Kubernetesがもたらす考え方の変化について、Kubernetesの固有の単語を使わずにまとめられている。

# The Technical

## Kubernetes volume plugins evolution from FlexVolume to CSI
<table>
<tr>
  <td colspan="2"><a href="https://medium.com/flant-com/kubernetes-volume-plugins-from-flexvolume-to-csi-c9a011d2670d">Kubernetes volume plugins evolution from FlexVolume to CSI</a></td>
</tr>
<tr>
  <td><img src="https://miro.medium.com/max/780/0*zx7ZmiXmICDgaNEO.png"></td>
  <td>How storage drivers are handled in K8s and why</td>
</tr>
</table>

Kubernetesでストレージを扱う方法の歴史。
in-tree, FlexVolume, CSIと変遷してきたが、それぞれがどういうもので、どのような問題があり移り変わっていったのかが詳しく説明されている。

# The Technical

## How to Protect Private Kubernetes Services Behind a GitHub Login with oauth2_proxy | DigitalOcean
<table>
<tr>
  <td colspan="2"><a href="https://www.digitalocean.com/community/tutorials/how-to-protect-private-kubernetes-services-behind-a-github-login-with-oauth2_proxy">How to Protect Private Kubernetes Services Behind a GitHub Login with oauth2_proxy | DigitalOcean</a></td>
</tr>
<tr>
  <td><img src="https://digitalocean.cdn.prismic.io/digitalocean%2Ff7af7f25-db78-40d1-ad9f-7b1c23366b02_kubernetes.svg"></td>
  <td>Kubernetes ingresses make it easy to expose web services to the internet. When it comes to private services, however, you will likely want to limit who can access them. In this tutorial, you will use oauth2_proxy to serve as a…</td>
</tr>
</table>

[oauth2_proxy](https://pusher.github.io/oauth2_proxy/)を使って認証済みのユーザだけがKubernetesクラスタ内のサービスへのアクセスできるようにする例を紹介。
nginx-ingressの機能で未認証のユーザをサインインページにリダイレクトする機能を活用している。

oauth2_proxyは以前bitlyが開発しており廃止予定になったものだが、別の会社がforkして開発を継続しているようだ。

https://github.com/pusher/oauth2_proxy

## 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>

[先週紹介しました](https://qiita.com/inajob/items/8cb53cfb81d59701e3e0#how-to-build-and-deploy-a-nodejs-application-to-digitalocean-kubernetes-using-semaphore-continuous-integration-and-delivery--digitalocean)

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


## How to write a Cluster API provider for running Kubernetes cluster on baremetal
<table>
<tr>
  <td colspan="2"><a href="https://itnext.io/kubernetes-cluster-creation-on-baremetal-host-using-cluster-api-1c2373230a17">How to write a Cluster API provider for running Kubernetes cluster on baremetal</a></td>
</tr>
<tr>
  <td><img src="https://miro.medium.com/max/1126/1*bwrbghRAwtf6lEVvoJCbyQ.png"></td>
  <td>This blog post is summary of the talk we presented in Open Source Summit Japan 2019.</td>
</tr>
</table>

Cluster APIの紹介と、libvertを利用する簡単なプロバイダのコードを紹介。
実際に動作するCluster APIのプロバイダの実装を見ることで、Cluster APIの理解を深めることができます。

## 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>

[先週紹介しました](https://qiita.com/inajob/items/8cb53cfb81d59701e3e0#kubernetes-journey--up-and-running-out-of-the-cloud--linux-image)

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

## Kubernetes Without Scale: Reasons to Run a Personal Cluster, Part 1 - Container Journal
<table>
<tr>
  <td colspan="2"><a href="https://containerjournal.com/topics/container-ecosystems/kubernetes-without-scale-reasons-to-run-a-personal-cluster/">Kubernetes Without Scale: Reasons to Run a Personal Cluster, Part 1 - Container Journal</a></td>
</tr>
<tr>
  <td><img src="https://containerjournal.com/wp-content/uploads/2019/10/canstockphoto26678620.jpg"></td>
  <td> Kubernetes is primarily thought of as a way to manage and scale production deployments. Typically it's used by large development teams (teams with more</td>
</tr>
</table>

個人開発者でスケールが必要がないサービスの提供においてもKubernetesを採用することに利点があるよ。という記事。
Kubernetesがある時と、ない時の作業を示し、いかにKubernetesを利用した方が良いかを説明している。

(個人的にはKubernetesを学習できる、という利点はあるものの、記載されているような用途であればdocker-composeなどで良いのでは・・と思いました。)

## How to deploy a Kubernetes cluster using gcloud command
<table>
<tr>
  <td colspan="2"><a href="https://www.techrepublic.com/article/how-to-deploy-a-kubernetes-cluster-using-gcloud-command/">How to deploy a Kubernetes cluster using gcloud command</a></td>
</tr>
<tr>
  <td><img src="https://tr1.cbsistatic.com/hub/i/r/2018/07/13/8f8cb293-4333-437a-9962-d63cee2e98fe/thumbnail/770x578/cde419398a30f9727ed6e2b2c5edabf8/googlecloud.jpg"></td>
  <td>Find out how to deploy a Kubernetes cluster to the Google Cloud Platform using the gcloud command.</td>
</tr>
</table>

gcloudコマンドでGKEのクラスタを作成する方法を紹介。

# The Editorial

## Cloud Native Masterless Puppet, with Bolt and PuppetDB - The New Stack
<table>
<tr>
  <td colspan="2"><a href="https://thenewstack.io/cloud-native-masterless-puppet-with-bolt-and-puppetdb/">Cloud Native Masterless Puppet, with Bolt and PuppetDB - The New Stack</a></td>
</tr>
</table>

いままでPuppetを使っていたシステムをクラウドネイティブ化した話。
引き続きPuppetは利用するが、Masterlessの構成を取ることにより、スケーラブルで安定した構成にできたとのこと。

また、Puppetで初期設定を行ったマシンに変更を加えるためにPuppetDBとBoltを利用しているようです。

## With Cloud Native, Intuit Brings ‘Lightning Fast’ Deployment to Thousands of Developers - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2019/10/22/with-cloud-native-intuit-brings-lightning-fast-deployment-to-thousands-of-developers/">With Cloud Native, Intuit Brings ‘Lightning Fast’ Deployment to Thousands of Developers - 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>In 18 months, Intuit went from zero to 2,000 services running on Kubernetes. And here’s why: Cloud native technology has enabled “lightning fast” deployment, says Jeff Brewer, Chief Architect, Small...</td>
</tr>
</table>

Insuitという会社のKubernetes導入のケーススタディ

Argoプロジェクトに従事しているApplatix社を買収し、Kubernetesの導入を促進したようです。
多くのクラスタを管理するために[keiko](https://github.com/keikoproj/keiko)をつくり、オープンソースにしています。

## Cloud Native Computing Foundation Announces Schedule for Kubernetes Forums in Seoul and Sydney  - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/announcement/2019/10/17/cloud-native-computing-foundation-announces-schedule-for-kubernetes-forums-in-seoul-and-sydney/">Cloud Native Computing Foundation Announces Schedule for Kubernetes Forums in Seoul and Sydney  - 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>Inaugural Kubernetes Forum events will connect local and international experts to further cloud native computing across the globe SAN FRANCISCO, Calif. – October 17, 2019 – The Cloud Native Computing...</td>
</tr>
</table>

Kubernetes Forumのスケジュールが決まったようです。
12/9 - 12/10 ソウル、12/12 - 12/13 シドニーにて開催されます。

より詳細なスケジュールはこちら

- ソウル https://events19.linuxfoundation.org/events/kubernetes-forum-seoul-2019/program/schedule/
- シドニー https://events19.linuxfoundation.org/events/kubernetes-forum-sydney-2019/program/schedule/

## Simplify Kubernetes Management with Helm : @VMblog
<table>
<tr>
  <td colspan="2"><a href="https://vmblog.com/archive/2019/10/23/simplify-kubernetes-management-with-helm.aspx#.XbZcCef7RTY">Simplify Kubernetes Management with Helm : @VMblog</a></td>
</tr>
<tr>
  <td><img src="https://vmblog.com//themes/blogs/vmblog2007/images/vmblog.com_logo.gif"></td>
  <td>Helm, the package manager for Kubernetes, is one of the fast-growing projects under the Cloud Native Computing Foundation's (CNCF) umbrella.</td>
</tr>
</table>

Helmの紹介とその歴史などについて紹介している。