KubeWeekly #205

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

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

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

# The Headline

## KubeCon + CloudNativeCon Europe | Linux Foundation Events
<table>
<tr>
  <td colspan="2"><a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/">KubeCon + CloudNativeCon Europe | Linux Foundation Events</a></td>
</tr>
<tr>
  <td><img src="https://events.linuxfoundation.org/wp-content/uploads/kubecon-eu-featured-01-80.jpg"></td>
  <td>NOVEL CORONAVIRUS UPDATE The Cloud Native Computing Foundation’s flagship conference gathers adopters and technologists from leading open source and cloud native communities in Amsterdam…</td>
</tr>
</table>

KubeCon + CloudNativeCon Europe のカウントダウンサイト、、でしたが残念ながらイベントは7月から8月ごろに延期されるようで、今はその旨が記載されています。

## Schedules Announced for Cloud Native Security Day, Serverless Practitioners Summit, ServiceMeshCon - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2020/02/24/schedules-announced-for-cloud-native-security-day-serverless-practitioners-summit-servicemeshcon/">Schedules Announced for Cloud Native Security Day, Serverless Practitioners Summit, ServiceMeshCon - Cloud Native Computing Foundation</a></td>
</tr>
<tr>
  <td><img src="https://www.cncf.io/wp-content/uploads/2020/02/CN-Security-Day-300x300.jpg"></td>
  <td>Day-0 co-located events are a huge part of KubeCon + CloudNativeCon. This year, CNCF is hosting 3 co-located events in Amsterdam on Monday, March 30, providing the opportunity for attendees...</td>
</tr>
</table>

KubeCon + CloudNativeConの Day0イベントである 3つのイベントのスケジュールが発表されました。
追記： これらのイベントもおそらく本家と同様延期されるはずです。

- [Cloud Native Security Day](https://events.linuxfoundation.org/cloud-native-security-day/)
- [Serverless Practitioners Summit](https://events.linuxfoundation.org/serverless-practitioners-summit/)
- [ServiceMeshCon](https://events.linuxfoundation.org/servicemeshcon/)

## Contributor Summit Amsterdam Schedule Announced
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/blog/2020/02/18/contributor-summit-amsterdam-schedule-announced/">Contributor Summit Amsterdam Schedule Announced</a></td>
</tr>
<tr>
  <td><img src="https://kubernetes.io//images/blog/2020-02-18-Contributor-Summit-Amsterdam-Schedule-Announced/contribsummit.jpg"></td>
  <td>Authors: Jeffrey Sica (Red Hat), Amanda Katona (VMware)
tl;dr Registration is open and the schedule is live so register now and we’ll see you in Amsterdam!
Kubernetes Contributor Summit Sunday, March 29, 2020
 Evening Contributor Celebration: ZuidPool Address: Europaplein 22, 1078 GZ Amsterdam, Netherlands Time: 18:00 - 21:00  Monday, March 30, 2020
 All Day Contributor Summit: Amsterdam RAI Address: Europaplein 24, 1078 GZ Amsterdam, Netherlands Time: 09:00 - 17:00 (Breakfast at 08:00)  Hello everyone and Happy 2020!</td>
</tr>
</table>

KubeCon + CloudNativeConでのContributorSummitの日程です。

追記： これらのイベントもおそらく本家と同様延期されるはずです。

# The Technical

## Announcing Application Manager for Google Kubernetes Engine | Google Cloud Blog
<table>
<tr>
  <td colspan="2"><a href="https://cloud.google.com/blog/products/containers-kubernetes/announcing-application-manager-for-google-kubernetes-engine/">Announcing Application Manager for Google Kubernetes Engine | Google Cloud Blog</a></td>
</tr>
<tr>
  <td><img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Google_Cloud_Kubernetes_tJPVpVo.max-2200x2200.jpg"></td>
  <td>Learn how the Application Manager add-on for GKE can help you simplify the lifecycle of your Kubernetes applications.</td>
</tr>
</table>

GKEのベータ版の機能であるApplication Managerの紹介。
以前紹介した[ConfigSync](https://qiita.com/inajob/items/e3a2cb33943e0b470fa4#config-sync-overview--google-cloud)とよく似たようなものに見えますが、GKE内のアドオンとして動作しgitリポジトリの変更をクラスタに反映したり、`appctl`と呼ばれるCLIツールでアプリケーションマニフェストのScaffoldを行うことができるようです。

Kubernetesの開発ワークフローは、かなり柔軟なので、どのように管理するか逆に困ってしまうことがありますが、このようなツールで標準化されると迷うことが少なくて良さそうです。

## Kafka disaster recovery on Kubernetes with CSI · Banzai Cloud
<table>
<tr>
  <td colspan="2"><a href="https://banzaicloud.com/blog/kafka-disaster-recovery-csi/">Kafka disaster recovery on Kubernetes with CSI · Banzai Cloud</a></td>
</tr>
<tr>
  <td><img src="https://banzaicloud.com//img/m-logo-inverse.png"></td>
  <td>Bringing cloud native to the enterprise, simplifying the transition to microservices on Kubernetes</td>
</tr>
</table>

Banzai Cloud SupertubesというソリューションによるKafkaクラスタのバックアップ・リストアの紹介。
内部的にはCSIのSnapshotを使っており、Kafkaのブローカに障害があった際に、定時的に取得していたバックアップからの復旧を行なっている。

## dpeckett/pangolin
<table>
<tr>
  <td colspan="2"><a href="https://github.com/dpeckett/pangolin">dpeckett/pangolin</a></td>
</tr>
<tr>
  <td><img src="https://avatars2.githubusercontent.com/u/3140685?s=400&v=4"></td>
  <td>An enhanced Horizontal Pod Autoscaler for Kubernetes. - dpeckett/pangolin</td>
</tr>
</table>

Horizontal Pod Autosclaerの拡張版の実装。
Rustで書かれている。原序はBangBangと呼ばれるアルゴリズムが実装されており、さらにPrometheusの任意のメトリクスを利用することができる。

（[BangBang](https://en.wikipedia.org/wiki/Bang%E2%80%93bang_control)というのはヒステリシス制御のことらしい)

## CNCF Tools Overview: Fluentd – Unified Logging Layer - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://epsagon.com/blog/cncf-tools-overview-fluentd-unified-logging-layer/">CNCF Tools Overview: Fluentd – Unified Logging Layer - Cloud Native Computing Foundation</a></td>
</tr>
<tr>
  <td><img src="https://epsagon.com/wp-content/uploads/2019/12/Fluentd_square-370x330.png"></td>
  <td>Guest post originally published on Epsagon by Ran Ribenzaft Nowadays, the myriad of data processing possibilities, ranging from in-house solutions to open-source tools to enterprise-grade third-party services, can be overwhelming....</td>
</tr>
</table>

CNCFのプロダクト紹介記事。今回はFluentd。
概要や、簡単な利用法、競合などがまとめられている。

## Weathervane 2.0: An Application-Level Performance Benchmark for Kubernetes - VMware VROOM! Blog
<table>
<tr>
  <td colspan="2"><a href="https://blogs.vmware.com/performance/2020/02/weathervane2-kubernetes.html">Weathervane 2.0: An Application-Level Performance Benchmark for Kubernetes - VMware VROOM! Blog</a></td>
</tr>
<tr>
  <td><img src="https://blogs.vmware.com/performance/files/2020/02/wv-k8s-fig02.png"></td>
  <td>VMware Weathervane 2.0 lets you evaluate and compare the performance characteristics of on-premises and cloud-based Kubernetes clusters.</td>
</tr>
</table>

Weathervane 2.0 というKubernetesクラスタのパフォーマンスベンチマークソフトの紹介.
サーバ構成やネットワークプラグインを変更した際にアプリケーションにどのような影響があるかを調べる際に有用そうです。

## How to Optimize I/O Intensive Containers on Kubernetes - NeuVector
<table>
<tr>
  <td colspan="2"><a href="https://neuvector.com/container-security/optimize-i-o-intensive-containers/">How to Optimize I/O Intensive Containers on Kubernetes - NeuVector</a></td>
</tr>
<tr>
  <td><img src="https://neuvector.com/wp-content/uploads/2020/02/cfs_tree.png"></td>
  <td>Highly threaded, I/O intensive Linux containers running on Kubernetes should be able to use the full extent of their CPU requests.</td>
</tr>
</table>

多重化されたI/Oが多いコンテナを動かす時それらはCPUをどのくらい利用することができるか？という話。
現在のLinuxのプロセススケジューリングのCFSの挙動を紹介し、さらにコンテナはcgroupsにより隔離されることから、前述のようなタスクは比較的低い優先度となってしまうという問題を指摘している。

(なぜこれで多重化されたI/Oが多いコンテナのCPU優先度が下がるのかがよく理解できませんでした・・)

## What are Open Source Security Approaches? With Examples - SDxCentral
<table>
<tr>
  <td colspan="2"><a href="https://www.sdxcentral.com/open-source/definitions/what-are-open-source-security-approaches-with-examples/">What are Open Source Security Approaches? With Examples - SDxCentral</a></td>
</tr>
<tr>
  <td><img src="https://www.sdxcentral.com/wp-content/uploads/2020/02/osc_architecture_concept.jpg"></td>
  <td>Open source security approaches enable organizations to secure their applications and networks while avoiding expensive proprietary security offerings.</td>
</tr>
</table>

Open source security approchesという考え方について紹介。
またこれを実現するオープンソースのツール・サービスを紹介

- Let's Encrypt
- Open Security Controller
- The Update Framework
- Open Policy Agent
- Falco

## Different Approaches for Building Stateful Kubernetes Applications - The New Stack
<table>
<tr>
  <td colspan="2"><a href="https://thenewstack.io/different-approaches-for-building-stateful-kubernetes-applications/">Different Approaches for Building Stateful Kubernetes Applications - The New Stack</a></td>
</tr>
</table>

Kubernetesでステートフルなアプリケーションを扱う方法。
Podから利用できるシェアードストレージや、ホスト毎のディスクを利用するHost based Provisioning、ステートフルなアプリケーションを管理するためのStatefulSet、Cloud Native Storageという考え方についてなど、様々な要素を紹介している。

# The Editorial

## 5 predictions for Kubernetes in 2020
<table>
<tr>
  <td colspan="2"><a href="https://opensource.com/article/20/1/kubernetes-2020">5 predictions for Kubernetes in 2020</a></td>
</tr>
<tr>
  <td><img src="https://opensource.com/sites/default/files/lead-images/coffee_tea_laptop_computer_work_desk.png"></td>
  <td>How do you track a wildly popular project like Kubernetes? How do you figure out where it’s going? If you are contributing to the project or participating in Special Interest Groups (SIGs), you might gain insight by osmosis, but for those of you with day jobs that don’t include contributing to Kubernetes, you might like a little help reading the tea leaves. With a fast-moving project like Kubernetes, the end of the year is an excellent time to take a look at the past year to gain insight into the next one.</td>
</tr>
</table>

2019年のkubernetes周りのブログ記事の振り返りと2020年の予想という内容の記事。

- オペレータを活用したAI/MLやステートフルなどのワークロード拡張
- PCI,HIPAA,NISTなどのような具体的なベストプラクティス
- セキュリティの向上, rootlessやセキュアなランタイムクラス(gVisor, Kata Containers)
- より良い開発ワークフローの標準化
- ネットワーク、ストレージ、GPUなどの特殊なハードウェアのエコシステムの拡充

を挙げている。

## Council Post: Distributions Were For Linux, Not For Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://www.forbes.com/sites/forbestechcouncil/2020/02/26/distributions-were-for-linux-not-for-kubernetes/">Council Post: Distributions Were For Linux, Not For Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://thumbor.forbes.com/thumbor/fit-in/1200x0/filters%3Aformat%28jpg%29/https%3A%2F%2Fblogs-images.forbes.com%2Fforbestechcouncil%2Ffiles%2F2020%2F02%2Fa-42-1.jpg"></td>
  <td>I often liken the Kubernetes revolution and the way it's taking over the cloud to Linux/Unix and the way it took over servers. I think we're right at the beginning of the same kind of revolution.</td>
</tr>
</table>

OpenShiftやJuju、PKS, Rancherなどにに代表される Kubernetes Distributionについて。
この筆者はあまりうまい方法ではないと述べている。

Linuxとは違いKubernetesはそれ単体で完結しており、インターフェースも十分にシンプルで、差別化がしにくいとのこと。
ディストリビューションで商売をするより、自動化のベストプラクティスをまとめ、その方法をドキュメント化する、などの方が良いビジネスになると述べている。

## StackRox Report Reveals that Container and Kubernetes Security Concerns are Inhibiting Business Innovation  · StackRox: Cloud-Native, Container, and Kubernetes Security
<table>
<tr>
  <td colspan="2"><a href="https://www.stackrox.com/press-releases/2020/02/stackrox-report-reveals-that-container-and-kubernetes-security-concerns-are-inhibiting-business-innovation/">StackRox Report Reveals that Container and Kubernetes Security Concerns are Inhibiting Business Innovation  · StackRox: Cloud-Native, Container, and Kubernetes Security</a></td>
</tr>
<tr>
  <td><img src="https://res.cloudinary.com/stackrox/home-social-media.jpg"></td>
  <td>StackRox releases Winter 2020 edition of its State of Container and Kubernetes Security Report</td>
</tr>
</table>

[先週紹介した記事](https://qiita.com/inajob/items/e8cd5faaac3ae98ca4de#security-concerns-hampering-adoption-of-containers-and-kubernetes) の元ネタ

StackRox社が調査したコンテナ・Kubernetes周りのセキュリティレポートの紹介。

セキュリティの懸念により半数近くの回答者がクラウドネイティブアプリケーションを本番環境に投入することを躊躇っているようです.

その他にも。。

- 94%の回答者がここ12ヶ月の間でコンテナ環境にてセキュリティ問題を経験している
- 設定ミスによる意図しないデータの流出が目立っています
- マネージドKubernetesサービス利用が増えてきています
- ハイブリッド環境の利用が減り、クラウドのみの環境が増えてきています
- スキル不足、急な学習曲線がKubernetes採用の最大の挑戦となっています

各項目細かいパーセンテージも紹介されているので、気になる方は原文をチェックしてみてください。

## Enterprise Kubernetes with OpenShift (Part one) – Red Hat OpenShift Blog
<table>
<tr>
  <td colspan="2"><a href="https://blog.openshift.com/enterprise-kubernetes-with-openshift-part-one/">Enterprise Kubernetes with OpenShift (Part one) – Red Hat OpenShift Blog</a></td>
</tr>
<tr>
  <td><img src="https://i0.wp.com/blog.openshift.com/wp-content/uploads/OCP4_Architecture.png?fit=1600%2C903&ssl=1"></td>
  <td>The question “What’s the difference between Kubernetes and OpenShift?” comes up every now and then, and it is quite like asking: “What’s the difference between an engine and a car?” To answer the latter, a car is a product that immediately makes you productive: it is ready to get you where you want to go. …</td>
</tr>
</table>

OpenShiftについての紹介。
「KubernetesとOpenShiftとの違いはなんですか？」という問いについては「エンジンと車の違いはなんですか？」と問うているようなものだ、というイントロから始まっている。

開発ツールワークフローが整備されていたり、クリティカルバグのバックポートが迅速に実施されるなど、のいくつかの実例を示している。
さらにOpenShiftを構成する様々な要素を紹介しているので、OpenShiftのことをさっと知りたい人には良い記事となっている。

## Accelerators and GPUs at NVIDIA, with Pramod Ramarao

<table>
<tr>
  <td colspan="2"><a href="https://kubernetespodcast.com/episode/092-nvidia/">Accelerators and GPUs at NVIDIA, with Pramod Ramarao
</a></td>
</tr>
<tr>
  <td><img src="https://kubernetespodcast.com/_assets/images/Kubernetes-Podcast-Logo_1400x1400.png"></td>
</tr>
</table>

Kubernetes Podcast. 今回はGPUについての話。ゲストはNVIDIAの Pramod Ramarao.

## Q&A: Kubernetes Storage SIG Chair on the State of State in K8s - The New Stack
<table>
<tr>
  <td colspan="2"><a href="https://thenewstack.io/qa-kubernetes-storage-sig-chair-on-the-state-of-state-in-k8s/">Q&A: Kubernetes Storage SIG Chair on the State of State in K8s - The New Stack</a></td>
</tr>
</table>

KubernetesのStorage SIG ChairであるSaad Aliへのインタビュー。

Statefulに向けての基本機能は揃っているが、複雑さがあり、教育するにはまだまだ問題があるようです。
各ベンダーのCSI実装も50を超えていますが、まだまだ未成熟です。

CSIにvolume health checkのための仕組みを入れようとしているらしい。

## Summing Up: Container Image Building
<table>
<tr>
  <td colspan="2"><a href="https://blog.giantswarm.io/summing-up-container-image-building/">Summing Up: Container Image Building</a></td>
</tr>
<tr>
  <td><img src="https://blog.giantswarm.io/assets/2020/02/summing-up-container-image-building.png"></td>
  <td>As we draw a line under this series about the state of the art of container image building, it’s worth taking a moment to reflect on what we’ve discovered. In contrast to the early days of the containerization trend made...</td>
</tr>
</table>

様々なコンテナイメージビルドツールの比較。

- Dockerfile Support
- Parallel Build Exec
- Rootless Builds
- Daemonless
- Remote Caching
- Multi-Platform

の観点で比較している。

## Why Those Gaps in Kubernetes Are Really a Good Thing - The New Stack
<table>
<tr>
  <td colspan="2"><a href="https://thenewstack.io/why-those-gaps-in-kubernetes-are-really-a-good-thing/">Why Those Gaps in Kubernetes Are Really a Good Thing - The New Stack</a></td>
</tr>
</table>

Kubernetesは、様々な環境の差異に対して柔軟に対応することができる。そのためにインターフェースを定義したり、SDKを用意したりしているよ、という話
一方、その柔軟性の余地鹿子ているが故に、起動してすぐ使える、というものではない点に注意が必要とのこと。

## Docker Images : Part II - Details Specific To Different Languages
<table>
<tr>
  <td colspan="2"><a href="https://www.ardanlabs.com/blog/2020/02/docker-images-part2-details-specific-to-different-languages.html">Docker Images : Part II - Details Specific To Different Languages</a></td>
</tr>
<tr>
  <td><img src="https://www.ardanlabs.com/images/ardanlabs-logo.svg"></td>
  <td>Series Index Reducing Image Size Details Specific To Different Languages Introduction In the first part, we introduced multi-stage builds, static and dynamic linking, and briefly mentioned Alpine. In this second part, we are going to dive into some details specific to Go. Then we will talk more about Alpine, because it&rsquo;s worth it; and finally we will see how things play out with other languages like Java, Node, Python, Ruby, and Rust.</td>
</tr>
</table>

コンテナイメージのサイズを小さくする方法についての2つ目の記事。
言語ごとにどのような注意点があるかをまとめている。　

Go, Java, スクリプト言語, Rustについて特にAlpineイメージにまつわる話が紹介されている。

## On-Demand Container Scanning API
<table>
<tr>
  <td colspan="2"><a href="https://jerrygamblin.com/2020/02/23/on-demand-container-scanning-api/">On-Demand Container Scanning API</a></td>
</tr>
<tr>
  <td><img src="https://jerrygamblin.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-22-at-5.28.09-PM.png"></td>
  <td>Last summer I launched vulnerablecontainers.org to help shed light on the number of vulnerabilities in the 1,000 most popular containers on docker hub.  While it was an interesting project, ri…</td>
</tr>
</table>

コンテナを与えるとそれに含まれる脆弱性を返してくれるWebAPIを作っている話。
内部的には[Trivy](https://github.com/aquasecurity/trivy)を使っているようです。

## Catch us next week at SCaLE 18x - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2020/02/27/catch-us-next-week-at-scale-18x/">Catch us next week at SCaLE 18x - 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>I am off to SCaLE! This is one of my favorite events of the year because of the people, the content, and it’s so chill. Getting somewhere warm this time...</td>
</tr>
</table>

[SCaLE 18x](http://www.socallinuxexpo.org/)というイベントにCNCFがスポンサーするという話。
CNCF周りのセッションについてもたくさんあるようで、一覧のリンクが紹介されている。