KubeWeekly #181

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

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

# The Headlines

## CNCF Archives the rkt Project - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2019/08/16/cncf-archives-the-rkt-project/">CNCF Archives the rkt Project - Cloud Native Computing Foundation</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://www.cncf.io/wp-content/uploads/2017/12/icon_cncf_twitter.png"></td>
  <td>As part of a new Archiving Process initiated earlier this year, CNCF announced today that the Technical Oversight Committee (TOC) has voted to archive the rkt project. All open source...</td>
</tr>
</table>

rktがarchiveされました。
利用者も減り、プロジェクトも活発ではなくなって来ていたためとのこと。

## A journey from containerization to orchestration and beyond
<table>
<tr>
  <td colspan="2"><a href="https://iximiuz.com/en/posts/journey-from-containerization-to-orchestration-and-beyond/?z=1">A journey from containerization to orchestration and beyond</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://iximiuz.com/journey-from-containerization-to-orchestration-and-beyond/orchestration.png"></td>
  <td>Ever wondered what's the difference between dockerd and containerd or why Kubernetes CRI was introduced?</td>
</tr>
</table>

Kubernetesより下のレイヤーについての解説。

- コンテナランタイム
- コンテナマネジメント
- Runtime shims
- CNI
- Orchestration

# The Technical

## [ANNOUNCE] Security release of Kubernetes v1.15.3, v1.14.6, v1.13.10 - CVE-2019-9512 and CVE-2019-9514

<table>
<tr>
  <td colspan="2"><a href="https://groups.google.com/forum/#!msg/kubernetes-announce/p-c33PN6pzw/L-T-8N0WAwAJ">[ANNOUNCE] Security release of Kubernetes v1.15.3, v1.14.6, v1.13.10 - CVE-2019-9512 and CVE-2019-9514
</a></td>
</tr>
</table>

HTTP HTTPSの実装の問題によりDoS攻撃を受ける可能性があった問題の修正が行われたようです。
(この脆弱性は[以前紹介したものです](https://qiita.com/inajob/items/b66fe6502e281304e76c#netflixsecurity-bulletins))

## Cilium 1.6: KVstore-free operation, 100% kube-proxy replacement, Socket-based load-balancing, Generic CNI Chaining, Native AWS ENI support, ... — Cilium
<table>
<tr>
  <td colspan="2"><a href="https://cilium.io/blog/2019/08/20/cilium-16/">Cilium 1.6: KVstore-free operation, 100% kube-proxy replacement, Socket-based load-balancing, Generic CNI Chaining, Native AWS ENI support, ... — Cilium</a></td>
</tr>
<tr>
  
  <td>Linux-Native, API-Aware Networking and Security for Containers. Open source project, Fork me on Github</td>
</tr>
</table>

Cilium 1.6がリリースされました。
従来必要だったKey-Valueストアは不要となりCRDを使うようになりました。またiptablesベースのkube-proxyの代替として動作するようになりました。
ソケットベースのロードバランス、ポリシーシステムのスケール性能の向上、CNIのchainのサポートなど多くの機能が実装されています。

## alexellis/k3sup
<table>
<tr>
  <td colspan="2"><a href="https://github.com/alexellis/k3sup">alexellis/k3sup</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://avatars0.githubusercontent.com/u/6358735?s=400&v=4"></td>
  <td>k3sup: from Zero to KUBECONFIG in < 1 min. Contribute to alexellis/k3sup development by creating an account on GitHub.</td>
</tr>
</table>

簡単にk3sをセットアップするためのツール。

## Containers 102: Kubernetes and the Basics of Container Orchestration -- Redmondmag.com
<table>
<tr>
  <td colspan="2"><a href="https://redmondmag.com/articles/2019/08/14/containers-101-understanding-kubernetes.aspx">Containers 102: Kubernetes and the Basics of Container Orchestration -- Redmondmag.com</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://redmondmag.com/-/media/ECG/visualstudiomagazine/Images/IntroImages2016/0816vsm_ShacklesXPlatC.jpg"></td>
  <td>To know containers is to know Kubernetes, the gold standard for container orchestration and deployment. Here's an explainer for how Kubernetes works and what makes it tick.</td>
</tr>
</table>

Kubernetesの概要の説明。

## Kubernetes Web UIs in 2019
<table>
<tr>
  <td colspan="2"><a href="https://srcco.de/posts/kubernetes-web-uis-in-2019.html">Kubernetes Web UIs in 2019</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://srcco.de/galleries/kubernetes-web-uis/kube-web-view-1.png"></td>
  <td>This post takes a look at different open source Kubernetes web UIs, my requirements, and why I created Kubernetes Web View to help with support and troubleshooting across multiple clusters.


Use Case</td>
</tr>
</table>

KubernetesのWebUIツールについて。
この記事の著者はhttps://codeberg.org/hjacobs/kube-web-view/ を作っているようで、他のツールについては紹介＋不満点が記載されていて参考になる。

- https://codeberg.org/hjacobs/kube-web-view/
- https://github.com/herbrandson/k8dash
- https://github.com/smpio/kubernator
- https://github.com/kubernetes/dashboard
- https://github.com/hjacobs/kube-ops-view
- https://github.com/hjacobs/kube-resource-report/
- https://github.com/vmware/octant

## [HARDWARE ACCELERATED TRANSCODING IN KUBERNETES WITH INTEL INTEGRATED GRAPHICS](https://www.careyscloud.ie/intel_gpu_plugin)

Kubernetes上でオープンソースのメディアサーバを動かしていたところ、CPUを使い切ってしまっていたが、IntelのDevicePluginを導入しGPUを利用できるようにしたことで、負荷がオフロードできたという話。

## Replica scheduling with Kubernetes federation · Banzai Cloud
<table>
<tr>
  <td colspan="2"><a href="https://banzaicloud.com/blog/federation-replica-scheduling/">Replica scheduling with Kubernetes federation · Banzai Cloud</a></td>
</tr>
<tr>
  <td><img width="320px" 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>

Kubernetes federation v2の動作の解説。
特にPreferenceを設定しクラスタ間でレプリカ数に重みをつけてPodをデプロイする方法と、意図した数Podがデプロイできない場合にrebalanceをするReplica Schedulerの動作を説明している。

この記事を書いたBonzaiCloudではすでにFederation v2を提供し始めているようだ。

## Proxying services into Kubernetes · Banzai Cloud
<table>
<tr>
  <td colspan="2"><a href="https://banzaicloud.com/blog/kurun-port-forward/">Proxying services into Kubernetes · Banzai Cloud</a></td>
</tr>
<tr>
  <td><img width="320px" 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>

kurunというツールの紹介。`go run`のような感じで簡単にKubernetes上にアプリケーションをデプロイできるコマンドです。
よく似たツールに[ko](https://github.com/google/ko)がありますが、kurunはよりシンプルだとのことです。

この記事ではkurunに新しく搭載された`port-foraward`サブコマンドについて紹介しています。
これはローカルで作っているアプリケーションをあたかもKubernetesクラスタの中で動いているかのよう見せかける機能です。（[teleprecense](https://www.telepresence.io/)と似ているように見える）

## Running Kubernetes end-to-end tests with Kind and GitHub Actions
<table>
<tr>
  <td colspan="2"><a href="https://radu-matei.com/blog/kubernetes-e2e-github-actions/">Running Kubernetes end-to-end tests with Kind and GitHub Actions</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://radu-matei.com/img/article-photos/kubernetes-e2e-github-actions/kind-github.png"></td>
  <td>Using Kubernetes in Docker in GitHub Actions</td>
</tr>
</table>

GitHub Actionsで[kind](https://kind.sigs.k8s.io/)を使ってe2eテストを実行する方法。

## How To Deploy a PHP Application with Kubernetes on Ubuntu 18.04 | DigitalOcean
<table>
<tr>
  <td colspan="2"><a href="https://www.digitalocean.com/community/tutorials/how-to-deploy-a-php-application-with-kubernetes-on-ubuntu-18-04">How To Deploy a PHP Application with Kubernetes on Ubuntu 18.04 | DigitalOcean</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://community-cdn-digitalocean-com.global.ssl.fastly.net/assets/tutorials/images/large/kubernetes_tutorials-big.png?1565039539"></td>
  <td>Kubernetes is an open source container orchestration system. It allows you to create, update, and scale containers without worrying about downtime. In this tutorial, you will deploy a PHP 7 application on a Kubernetes cluster with Nginx and PHP-FPM ru</td>
</tr>
</table>

DigitalOceanのKubernetesクラスタを使ってPHPのアプリケーションをデプロイする方法を紹介している。
DigitalOceanにも専用のCSIプラグインがあり、ストレージを簡単に払い出すことができるようだ。

# The Editorial

## How to explain Kubernetes Secrets in plain English
<table>
<tr>
  <td colspan="2"><a href="https://enterprisersproject.com/article/2019/8/kubernetes-secrets-explained-plain-english">How to explain Kubernetes Secrets in plain English</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://enterprisersproject.com/sites/default/files/cio_kubernetes.png"></td>
  <td>What is a Kubernetes secret? How does this type of Kubernetes object increase security? How do you create a Kubernetes secret? What are some best practices? Experts break it down.</td>
</tr>
</table>

KubernetesのSecretについての紹介。

## Pivotal CTO: Kubernetes means we're all distributed systems programmers now • DEVCLASS
<table>
<tr>
  <td colspan="2"><a href="https://devclass.com/2019/08/16/pivotal-cto-kubernetes-means-were-all-distributed-systems-programmers-now/">Pivotal CTO: Kubernetes means we're all distributed systems programmers now • DEVCLASS</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://devclass.com/wp-content/uploads/2018/12/pivotal.jpg"></td>
  <td>Kubernetes is changing the way organisations develop their software and manage their systems. But can we expect it to start changing the nature of organisations themselves? It’s certainly changed the nature of Pivotal – which launched a drive onto Kubernetes last month, not long after being lambasted by financial analysts for scaling back financial targets …</td>
</tr>
</table>

最近になってKubernetesを使う方向に舵を切ったPivotal CTOへのインタビュー記事。

## Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends 
<table>
<tr>
  <td colspan="2"><a href="https://www.infoq.com/articles/kubernetes-workloads-serverless-era/">Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends </a></td>
</tr>
<tr>
  <td><img width="320px" src="https://cdn.infoq.com/statics_s2_20190827-0421/styles/i/logo-big.jpg"></td>
  <td>Explore how microservices architecture has evolved into cloud-native architecture, where many of the infrastructure concerns are provided by Kubernetes in combination with additional abstractions provided by service mesh and serverless frameworks. In addition, the serverless ecosystem is evolving by exploring standard and open packaging, runtimes, and event formats.</td>
</tr>
</table>

ワークロードの変化の歴史に着目してKubernetesやその周辺のプラットフォームを紹介している記事。

# [Solving 2 Common Deployment Dilemmas in Kubernetes With Istio](https://blog.container-solutions.com/solving-2-common-deployment-dilemmas-in-istio)

Istioを使ったカナリーリリースやA/Bテストの方式の紹介。

## Orka, with Chris Chapman
<table>
<tr>
  <td colspan="2"><a href="https://kubernetespodcast.com/episode/067-orka/">Orka, with Chris Chapman</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://kubernetespodcast.com/_assets/images/Kubernetes-Podcast-Logo_1400x1400.png"></td>
</tr>
</table>

Kubernetes Podcast. 今回のゲストはMacOS as a ServiceのMacStadiumのSVPの方です。

## Flux Joins the CNCF Sandbox
<table>
<tr>
  <td colspan="2"><a href="https://www.weave.works/blog/flux-joins-the-cncf-sandbox">Flux Joins the CNCF Sandbox</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://www.weave.works/assets/images/bltc6e9fa772445b41d/flux-logo-vertical@2x.png"></td>
  <td>Flux, the Kubernetes GitOps operator, has been accepted as a Sandbox project by the Cloud Native Computing Foundation (CNCF).  Built to drive Weaveworks’ own deployment pipeline, Flux operates by updating Kubernetes manifests, applying them, and then committing the change to git.</td>
</tr>
</table>

[flux](https://fluxcd.io/)がCNCFのSandboxプロジェクトに採択されました。

## Kubernetes, Data Portability, and the Rise of Portable Stateful Applications - The New Stack
<table>
<tr>
  <td colspan="2"><a href="https://thenewstack.io/kubernetes-data-portability-and-the-rise-of-portable-stateful-applications/">Kubernetes, Data Portability, and the Rise of Portable Stateful Applications - The New Stack</a></td>
</tr>
<tr>
  <td><img width="320px" src="https://cdn.thenewstack.io/media/2019/08/7d2653bf-train-821500_1280.jpg"></td>
  <td>A primer on getting Kubernetes to work with stateful applications, using the container storage interface.</td>
</tr>
</table>

StatfulなワークロードをKubernetesでうまく扱うためのストレージに求める要件など。