KubeWeekly #166

# はじめに

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

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

# The Headlines

## Kubernetes 1.14: Production-level support for Windows Nodes, Kubectl Updates, Persistent Local Volumes GA
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/blog/2019/03/25/kubernetes-1-14-release-announcement/">Kubernetes 1.14: Production-level support for Windows Nodes, Kubectl Updates, Persistent Local Volumes GA</a></td>
</tr>
<tr>
  
  <td>Authors: The 1.14 Release Team
We’re pleased to announce the delivery of Kubernetes 1.14, our first release of 2019!
Kubernetes 1.14 consists of 31 enhancements: 10 moving to stable, 12 in beta, and 7 net new. The main themes of this release are extensibility and supporting more workloads on Kubernetes with three major features moving to general availability, and an important security feature moving to beta.
More enhancements graduated to stable in this release than any prior Kubernetes release.</td>
</tr>
</table>

Kubernetes v1.14がリリースされました。

- Windowsノードサポートがベータに
- Kubectlのアップデート
  - Kubectlの新しいドキュメント https://kubectl.docs.kubernetes.io/
  - kustomizeとの統合
  - pluginの仕組みがStableに
- Persistent Local VolumeがGAに
- PID Limitingがベータに
- その他の大きなアップデート
  - Pod priority and preemption
  - Pod Readiness Gates
  - Harden the default RBAC discovery clusterrolebindings

## Scaling Up Smart: 4 key tips on successfully using cloud native technology to scale your infrastructure - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://medium.com/streamroot-developers-blog/scaling-up-smart-4-key-tips-on-successfully-using-cloud-native-technology-to-scale-your-e4b521003f94">Scaling Up Smart: 4 key tips on successfully using cloud native technology to scale your infrastructure - Cloud Native Computing Foundation</a></td>
</tr>
<tr>
  <td><img src="https://www.cncf.io/wp-content/uploads/2019/04/0_GR-K8oBE9Oz74dKk-300x186.png"></td>
  <td>Today’s post is by Reda Benzair, CNCF Ambassador and VP of Engineering at Streamroot. This was originally posted on the Streamroot techdeveloper’s blog. In this post, I’d like to share...</td>
</tr>
</table>

クラウドネイティブな技術を使いインフラをスケールさせるための4つのTipsを紹介。

- #1 新しいものが必ずしも良いとは限らない。
  - CNCFプロダクトにも成熟度がある。何でもかんでも導入するとコストや複雑性が増すだけ。
- #2　コストを管理しよう。
  - 早い段階でコストを管理できるようにする。これにより、どのように公立化すべきかが明らかになる
- #3 プロダクション環境を分離しよう
  - Namespaceによる分離も良いが、オペレーションミスやセキュリティインシデントのコストがかかる。
- #4 統一化と自動化を行おう
  - 今や自動化や開発環境の統一は様々な技術により簡単に行うことができる。なるべく早く行うことが大事。

## Running Kubernetes locally on Linux with Minikube - now with Kubernetes 1.14 support
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/blog/2019/03/28/running-kubernetes-locally-on-linux-with-minikube-now-with-kubernetes-1.14-support/">Running Kubernetes locally on Linux with Minikube - now with Kubernetes 1.14 support</a></td>
</tr>
<tr>
  <td><img src="https://kubernetes.io//images/blog/2019-03-28-running-kubernetes-locally-on-linux-with-minikube/ihor-dvoretskyi-1470985-unsplash.jpg"></td>
  <td>Author: Ihor Dvoretskyi, Developer Advocate, Cloud Native Computing Foundation
  
A few days ago, the Kubernetes community announced Kubernetes 1.14, the most recent version of Kubernetes. Alongside it, Minikube, a part of the Kubernetes project, recently hit the 1.0 milestone, which supports Kubernetes 1.14 by default.
Kubernetes is a real winner (and a de facto standard) in the world of distributed Cloud Native computing. While it can handle up to 5000 nodes in a single cluster, local deployment on a single machine (e.</td>
</tr>
</table>

[Minikube](https://github.com/kubernetes/minikube)が1.0となりKubernetes v1.14をサポートするようになりました。
Twitterでのアンケート機能による調査によると、ローカルでクラスタを作る方法として、minikubeを使っている人は45%にものぼります。

この記事ではUbuntu上でKVMドライバを使ってminikubeでクラスタを作る方法を紹介しています。

# The Technical

## A Guide to Kubernetes Admission Controllers
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers/">A Guide to Kubernetes Admission Controllers</a></td>
</tr>
<tr>
  <td><img src="https://d33wubrfki0l68.cloudfront.net/af21ecd38ec67b3d81c1b762221b4ac777fcf02d/7c60e/images/blog/2019-03-21-a-guide-to-kubernetes-admission-controllers/admission-controller-phases.png"></td>
  <td>Author: Malte Isberner (StackRox)
Kubernetes has greatly improved the speed and manageability of backend clusters in production today. Kubernetes has emerged as the de facto standard in container orchestrators thanks to its flexibility, scalability, and ease of use. Kubernetes also provides a range of features that secure production workloads. A more recent introduction in security features is a set of plugins called “admission controllers.” Admission controllers must be enabled to use some of the more advanced security features of Kubernetes, such as pod security policies that enforce a security configuration baseline across an entire namespace.</td>
</tr>
</table>

Admission Controllerの紹介。
図を用いたAdmission Controllerの説明と、Kubernetesの様々なところで利用されている例の紹介。
さらに簡単なAdmissionControllerの実装の例を通してAdmissionControllerの理解を深めることができる。

## Managing Kubernetes RBAC Groups
<table>
<tr>
  <td colspan="2"><a href="https://medium.com/cruise/open-sourcing-rbacsync-48758df685b0">Managing Kubernetes RBAC Groups</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/0*_1R7vYtQblvhQeeI"></td>
  <td>Announcing our open source project RBACSync</td>
</tr>
</table>

GKEでのRBACを設定する際、Groupの概念が存在しないため、RoleBindingの設定変更が煩雑になるという問題があった。
この記事ではGroupの機能をCRDとして実装し、それをうまい具合にRoleBindingに変換するコントローラである[automation/rbacsync](https://github.com/cruise-automation/rbacsync)を紹介している。

実際にはGoogleGroupで作ったGroupをCRDで指定すると、このコントローラがGroupAPIからメンバを取得し、RoleBindingを更新するという動きになっている。

## Boosting your kubectl productivity
<table>
<tr>
  <td colspan="2"><a href="https://learnk8s.io/blog/kubectl-productivity">Boosting your kubectl productivity</a></td>
</tr>
<tr>
  <td><img src="https://learnk8s.io//a/e2f652563ecee5197a15700f2436fcd0.jpg"></td>
  <td>If you work with Kubernetes, then kubectl is probably one of your most-used tools. This article contains a series of tips and tricks to make your usage of kubectl more efficient.</td>
</tr>
</table>

KubectlのTips集。

- シェルの補完機能 kubectl completion
- kubectl explain
- custom-columnsによるgetの制御
- contextの切り替え
- aliasの勧め
- pluginの活用

## Kubernetes-based Microservice Observability with Istio Service Mesh: Part 2
<table>
<tr>
  <td colspan="2"><a href="https://itnext.io/kubernetes-based-microservice-observability-with-istio-service-mesh-part-2-f25c4b474a65">Kubernetes-based Microservice Observability with Istio Service Mesh: Part 2</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/1*yp2_sLoiC_gWHICPzMKL8A.png"></td>
  <td>Explore the observability tools that are part of the latest version of Istio Service Mesh 1.1.0: Jaeger, Kiali, Prometheus, and Grafana.</td>
</tr>
</table>

前回の記事で構築した構成を元に各ツールの使い方を紹介している。ツールが多いので記事も長めとなっている。

- Logging
- Metrics(Prometheus,Grafana)
- Traces(Istio, Jaeger)
- Microservice Observability(Kiali)

## How to use Knative on Kubernetes to deploy a Serverless Application
<table>
<tr>
  <td colspan="2"><a href="https://itnext.io/how-to-use-knative-on-kubernetes-to-deploy-a-serverless-application-582d62fa2a9f">How to use Knative on Kubernetes to deploy a Serverless Application</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/1*ReM2ZPoRFLoKhU48E0dasw.jpeg"></td>
  <td>Container or Serverless? A question that will soon be superfluous with the open source project Knative.</td>
</tr>
</table>

Knativeの概要と実際にServingを使ったアプリケーションのデプロイの例を紹介している。

## Litmus: Journey of a storage e2e and chaos framework for Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://blog.openebs.io/litmus-journey-of-a-storage-e2e-and-chaos-framework-for-kubernetes-dc09a3904a24">Litmus: Journey of a storage e2e and chaos framework for Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/1*fk4UfhhM6jeRxiQewzpQVg.png"></td>
  <td>This article is part of a #ProjectUpdates series on Litmus. In this blog post, we will share the latest developments in the project, which…</td>
</tr>
</table>

Kubernetes上でストレージなどを扱う場面のE2Eテストを実現するためのフレームワークであるLitmusの紹介
この記事では最近のLitmusのアップデートについて述べられている。

マイクロサービスとしてリファクタリングを行ったらしく、それぞれのコンポーネントの説明を読むことでListmusの機能を知ることができる。

## Tuning Jaeger’s performance
<table>
<tr>
  <td colspan="2"><a href="https://medium.com/jaegertracing/tuning-jaegers-performance-7a60864cf3b1">Tuning Jaeger’s performance</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/1*TKTotcTmKeX0kc-u4I10Pg.png"></td>
  <td>Jaeger was built from day 1 to be able to ingest huge amounts of data in a resilient way. This post shows you the tuning possibilities.</td>
</tr>
</table>

Jaegerを使う上でパフォーマンス上気をつけることがまとめられている。

- client側
  - サンプリングの割合を変更する
  - Queueのサイズを変更する
  - Flash Interrvalを変更する
    - clientがagentやcollectorにspanの情報を送る間隔
- agent側
  - Queueのサイズを変更する
  - processor worker数を変更する
- collector側
  - Queueのサイズを変更する
- worker側
  - worker数を変更する
- 構成など
  - controllerの水平スケール
  - 早いストレージをつかう
  - agentをアプリケーションから近いところに置く
  - Kafkaの利用を検討する

## Setting up secure endpoints in Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://blog.cloud66.com/setting-up-secure-endpoints-in-kubernetes/">Setting up secure endpoints in Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://blog.cloud66.com/content/images/2019/03/setting-up-secure-endpoints-in-kubernetes-with-cloud66.png"></td>
  <td>Note This post requires a basic understanding of Kubernetes and how it works for it to be most useful.     Source Code All the code and configuration files for this post are available here. One Simple App, Two Endpoints One of the most basic needs of a new application that's deployed</td>
</tr>
</table>

DigitalOceanのManaged Kubernetesを例に、一般的なWebアプリケーションの公開方法を紹介している。
Nginx Ingress Controller, External DNS, Cert Managerなどのツールを活用している。

## How to build your own CDN with Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://blog.insightdatascience.com/how-to-build-your-own-cdn-with-kubernetes-5cab00d5c258">How to build your own CDN with Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/1*BXTyGfYEpA3zLAdnin1OJQ.png"></td>
  <td>Design and code to deploy a self-hosted content delivery network.</td>
</tr>
</table>

KubernetesでCDN [ilhaan/kubeCDN](https://github.com/ilhaan/kubeCDN) を自作した話。
CDNが必要とされる経緯と、他者に任せることが難しい事情の解説、そしてkubeCDNの紹介。

KubeCDNは複数のRegionにKubernetesクラスタを払い出す仕組みで、さらに、DNSを自動設定し、ユーザに近いクラスタへリクエストを転送する機能を持っているもののようだ。

Terraformを使ってEKSやAWSの仕組みを構築している。またExternalDNSを使ってRoute53を操作しDNSレコードを自動更新している。
ExternalDNSにいくつか問題があり修正した話などが語られている。

## Understanding Network Policies in Kubernetes
<table>
<tr>
  <td colspan="2"><a href="https://supergiant.io/blog/understanding-network-policies-in-kubernetes/">Understanding Network Policies in Kubernetes</a></td>
</tr>
<tr>
  <td><img src="https://supergiant.io/wp-content/uploads/2019/02/npolicies-main.png"></td>
  <td>Let's learn how to manage traffic to and from your Pods using Kubernetes Network Policies with a set of ingress and egress rules.</td>
</tr>
</table>

NetworkPolicyの紹介。
Minikubeを使って、NetworkPolicyの動作を説明している。CNIにはCiliumを使っている。

## PostgreSQL anywhere — via Kubernetes with some help from OpenEBS and credativ engineering
<table>
<tr>
  <td colspan="2"><a href="https://blog.openebs.io/postgresql-anywhere-via-kubernetes-with-some-help-from-openebs-and-credativ-engineering-c1c8b4bb1684">PostgreSQL anywhere — via Kubernetes with some help from OpenEBS and credativ engineering</a></td>
</tr>
<tr>
  <td><img src="https://cdn-images-1.medium.com/max/1200/0*YZN6RqlzYSnZyOLn"></td>
  <td>by Murat Karslioglu, OpenEBS and Adrian Vondendriesch, credativ</td>
</tr>
</table>

PostgreSQLのOperatorである[zalando/postgres-operator](https://github.com/zalando/postgres-operator)を使ってPostgreSQLを構築方法を紹介。
またPostgreSQLをOpenEBSと合わせて使うことによるメリットも紹介している。

## Getting started with Jaeger to build an Istio service mesh
<table>
<tr>
  <td colspan="2"><a href="https://opensource.com/article/19/3/getting-started-jaeger">Getting started with Jaeger to build an Istio service mesh</a></td>
</tr>
<tr>
  <td><img src="https://opensource.com/sites/default/files/lead-images/mesh_networking_dots_connected.png"></td>
  <td>Improve monitoring and tracing of cloud-native apps on a distributed networking system.</td>
</tr>
</table>

Istioをインストールし、サンプルアプリをデプロイし、IstioとともにデプロイされているJaegerでトレースを可視化する方法の紹介。

## Kubernetes End-to-end Testing for Everyone
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/blog/2019/03/22/kubernetes-end-to-end-testing-for-everyone/">Kubernetes End-to-end Testing for Everyone</a></td>
</tr>
<tr>
  
  <td>Author: Patrick Ohly (Intel)
More and more components that used to be part of Kubernetes are now being developed outside of Kubernetes. For example, storage drivers used to be compiled into Kubernetes binaries, then were moved into stand-alone Flexvolume binaries on the host, and now are delivered as Container Storage Interface (CSI) drivers that get deployed in pods inside the Kubernetes cluster itself.
This poses a challenge for developers who work on such components: how can end-to-end (E2E) testing on a Kubernetes cluster be done for such external components?</td>
</tr>
</table>

Kubernetesの開発に用いられているE2Eテストの紹介。
Kubernettes v1.13からE2Eには大幅な改良が加わったようで、そのことについて記載されている。
さらに最新のv1.14での変更についても述べられている。


# Tooling Spotlight

## aquasecurity/kubectl-who-can

<table>
<tr>
  <td colspan="2"><a href="https://github.com/aquasecurity/kubectl-who-can">aquasecurity/kubectl-who-can</a></td>
</tr>
<tr>
  <td><img src="https://avatars1.githubusercontent.com/u/12783832?s=400&v=4"></td>
  <td>[WIP proof of concept] show who has permissions to `verb` `resources` in kubernetes - aquasecurity/kubectl-who-can</td>
</tr>
</table>

kubectlのプラグイン`kubectl-who-can`。名前の通り、誰がその操作をすることができるかを確認することができる。

## Routing Traffic to Applications in Kubernetes with Contour 0.10 - Cloud Native Apps

<table>
<tr>
  <td colspan="2"><a href="https://blogs.vmware.com/cloudnative/2019/03/08/routing-traffic-kubernetes-contour-0-10/">Routing Traffic to Applications in Kubernetes with Contour 0.10 - Cloud Native Apps</a></td>
</tr>
<tr>
  <td><img src="https://blogs.vmware.com/cloudnative/files/2019/03/Untitled-design-2.png"></td>
  <td>Version 0.10 of Contour adds some exciting features to address TLS certificates and how they are referenced. This new version brings a feature called TLS Certificate Delegation, which makes it possible for an IngressRoute objects to reference a Kubernetes Secret object in another namespace.</td>
</tr>
</table>

Ingress Controllerの実装の一つであるContour。内部的にはEnvoyを利用している。
特徴としてIngressRouteという独自の機能の設定を記述できるCRDを用意している。
0.10にバージョンアップし、TLS証明書のサポートが実装されたようです。

# The Editorial

## The evolution of serverless and FaaS: Knative brings change - Red Hat Developer Blog
<table>
<tr>
  <td colspan="2"><a href="https://developers.redhat.com/blog/2019/03/26/serverless-faas-knative/">The evolution of serverless and FaaS: Knative brings change - Red Hat Developer Blog</a></td>
</tr>
<tr>
  <td><img src="https://developers.redhat.com/blog/wp-content/uploads/2018/07/RHD_full_logo_color_black_bg_RGB-1024x503.png"></td>
  <td>The terms "serverless" and "Function as a Service" (FaaS) often are used interchangeably, but they do not mean the same thing. This article describes the terms and how Knative is speeding the evolution of both by enabling any service to be available as a function.</td>
</tr>
</table>

Knativeと従来のFaaSについて紹介。
サーバを意識しなくてよい、という意味ではKnariveはServerlessである、と書かれている。


## [Using Istio to Secure Service Meshes](https://blog.alcide.io/using-istio-to-secure-service-meshes)

Istioの紹介。各機能の概要。

## Going Cloud Native: 6 essential things you need to know
<table>
<tr>
  <td colspan="2"><a href="https://www.weave.works/blog/going-cloud-native-6-essential-things-you-need-to-know">Going Cloud Native: 6 essential things you need to know</a></td>
</tr>
<tr>
  <td><img src="https://www.weave.works/assets/images/blt8db6edc93a70923b/CNCF-sustaining.png"></td>
  <td>Are you just starting on your digital transformation journey and still wondering what cloud native is, and why you need it? This article discusses the key takeaways to know about the term cloud native. It also describes how you can take advantage of cloud native capabilities to speed up your development team’s productivity and increase your company’s innovation output.</td>
</tr>
</table>


クラウドネイティブを採用するにあたり、知っておくべき6つのこと。

- クラウドネイティブの歴史
- エンタープライズでクラウドネイティブを採用することの利点
- クラウドネイティブアーキテクチャはどんな感じか
- クラウドネイティブな戦略を実践すると何が起きるか
- CNCFの役割について
- DevOpsとクラウドネイティブの関係

## Bringing Kubernetes to the bare-metal edge
<table>
<tr>
  <td colspan="2"><a href="https://opensource.com/article/19/3/bringing-kubernetes-bare-metal-edge">Bringing Kubernetes to the bare-metal edge</a></td>
</tr>
<tr>
  <td><img src="https://opensource.com/sites/default/files/lead-images/cube_innovation_process_block_container.png"></td>
  <td>New Kubespray features enable Kubernetes clusters to be deployed across next-generation edge locations.</td>
</tr>
</table>

[Kubespray](https://kubespray.io/)に最近追加されたベアメタルクラウドである[Packet](https://www.packet.com/)のサポートが実装された。
それを踏まえて、Kubernetesをベアメタルで動かすことについての考えを述べている。

そのなかでベアメタル環境でのロードバランサや永続ストレージのソリューションとして下記を挙げている。

- [MetalLB, bare metal load-balancer for Kubernetes](https://metallb.universe.tf/)
- [Rook.io](https://rook.io/)


## A Self-Hosted Global Load Balancer for OpenShift – Red Hat OpenShift Blog
<table>
<tr>
  <td colspan="2"><a href="https://blog.openshift.com/a-self-hosted-global-load-balancer-for-openshift/">A Self-Hosted Global Load Balancer for OpenShift – Red Hat OpenShift Blog</a></td>
</tr>
<tr>
  <td><img src="https://i1.wp.com/blog.openshift.com/wp-content/uploads/global4.png?fit=512%2C276&ssl=1"></td>
  <td>Introduction This is the fifth installment on a series of blog posts related to deploying OpenShift in multi-cluster configurations. In the first two posts (part 1 and part 2), we explored how to create a network tunnel between multiple clusters. In the third post, it was demonstrated how to deploy Istio multicluster across multiple clusters …</td>
</tr>
</table>

OpenShiftでマルチクラスタを活用する際に必要なGlobal Loadbalancerについて

External-DNSはマルチクラスタの要件ではそのまま使うことは難しいが、Federation V2の機能を使うことで、うまくマルチクラスタのDNSを設定できるようだ。
そして、マルチクラスタの各クラスタでDNSサービスを動かし、それらをDomain　Registrarに設定することでGlobal　Loadbalancerを実現している。

(Federation V2の動きがよくわかっていないので、いまいちピンと来ていない)

## Kubernetes Learning Resources
<table>
<tr>
  <td colspan="2"><a href="None">Kubernetes Learning Resources</a></td>
</tr>
</table>

Google SpreadSheetにまとめられた、Kubernetesの資料集
内容を見る限りCKA受験のためにまとめられたもののようだ。

## AppDirect Case Study
<table>
<tr>
  <td colspan="2"><a href="https://kubernetes.io/case-studies/appdirect/">AppDirect Case Study</a></td>
</tr>
<tr>
  <td><img src="https://kubernetes.io//images/kubernetes-horizontal-color.png"></td>
  <td>CASE STUDY:AppDirect: How AppDirect Supported the 10x Growth of Its Engineering Staff with Kubernetess   Company  AppDirect     Location  San Francisco, California      Industry  Software   Challenge AppDirect provides an end-to-end commerce platform for cloud-based products and services. When Director of Software Development Pierre-Alexandre Lacerte began working there in 2014, the company had a monolith application deployed on a "tomcat infrastructure, and the whole release process was complex for what it should be,"</td>
</tr>
</table>

Kubernetesの導入事例

モノリスなアーキテクチャからKubernetesに移行した。
エンジニアチームの成長が10倍になった。デプロイ時間は4時間から数分に縮まった。
いまや1週間で1600デプロイが行われている（以前は1-30だった）

## Kubernetes 1.14 Ships With Production-Grade Support For Microsoft Windows Worker Nodes
<table>
<tr>
  <td colspan="2"><a href="https://www.forbes.com/sites/janakirammsv/2019/03/26/kubernetes-1-14-ships-with-production-grade-support-for-microsoft-windows-worker-nodes/">Kubernetes 1.14 Ships With Production-Grade Support For Microsoft Windows Worker Nodes</a></td>
</tr>
<tr>
  <td><img src="https://thumbor.forbes.com/thumbor/600x315/https%3A%2F%2Fblogs-images.forbes.com%2Fjanakirammsv%2Ffiles%2F2017%2F06%2Fkubernetes.jpg"></td>
  <td>The Kubernetes community continues to make brisk progress. The latest release marks yet another milestone for the most popular, open source container orchestration engine.</td>
</tr>
</table>

Kubernetes v1.14のリリースについて。

## Why Kubernetes?
<table>
<tr>
  <td colspan="2"><a href="https://srcco.de/posts/why-kubernetes.html">Why Kubernetes?</a></td>
</tr>
<tr>
  <td><img src="https://srcco.de/galleries/kubernetes-logo.png"></td>
  <td>There was a recent blog post by Matthias Endler on why you might not need Kubernetes.
I'll try to explain why I believe Kubernetes is worth a close look, even if you just want to run some containers.
</td>
</tr>
</table>

なぜ Kubernetesなのか、という問いについての意見。

APIの抽象度、一貫性、拡張性、互換性、みんなが使っている　という点が挙げられている。

## Kubernetes 1.14 Enhances Cloud-Native Platform With Windows Nodes
<table>
<tr>
  <td colspan="2"><a href="https://www.eweek.com/cloud/kubernetes-1.14-enhances-cloud-native-platform-with-windows-nodes">Kubernetes 1.14 Enhances Cloud-Native Platform With Windows Nodes</a></td>
</tr>
<tr>
  <td><img src="https://www.eweek.com//imagesvr_ez/b2bezp/2019/02/1088x725kubernetes2.jpg?alias=social_image"></td>
  <td>Kubernetes 1.14 introduces new features and a new process for the open-source container orchestration platform to determine which enhancements will land in upcoming releases.</td>
</tr>
</table>

Kubernetes v1.14のリリースについて。
Kubernetes Enhancement Proposal(KEP) を使ったリリースは1.14が初めてだと書かれている（もっと前からあった気もする）

## Kubernetes 1.14 Brings Docker Orchestration to Windows Server - The New Stack
<table>
<tr>
  <td colspan="2"><a href="https://thenewstack.io/kubernetes-1-14-brings-docker-orchestration-to-windows-server/">Kubernetes 1.14 Brings Docker Orchestration to Windows Server - The New Stack</a></td>
</tr>
<tr>
  <td><img src="https://cdn.thenewstack.io/media/2019/03/0f48b0bc-kubernetes-logo.png"></td>
  <td>The latest release of Kubernetes, version 1.14, is out with production-level support for Windows nodes and 10 enhancements moving to the stable release. “The thing I’m most proud of is that this release has the most stable enhancements of any release of Kubernetes,” said release lead Aaron Crickenberger, senior test engineer at Google.“You have heard …</td>
</tr>
</table>

Kubernetes v1.14のリリースについて。