KubeWeekly #175

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

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


# The Headlines

## A Kubernetes and Distributed Systems Reading List | 
    
<table>
<tr>
  <td colspan="2"><a href="https://www.randomvariable.co.uk/blog/2019/07/06/a-kubernetes-and-distributed-systems-reading-list/">
    A Kubernetes and Distributed Systems Reading List
  </a></td>
</tr>
<tr>
  <td><img src="https://www.randomvariable.co.uk/images/blog/heroes/2019-07-06-kubernetes-and-distributed-systems-reading-list.jpg"></td>
  <td></td>
</tr>
</table>

Kubernetesや分散システムに関して知るために読むべき書籍や論文の紹介。
日本語訳されている書籍もたくさんある。

# The Technical

## Kubernetes productivity tips and tricks
<table>
<tr>
  <td colspan="2"><a href="https://www.padok.fr/en/blog/kubernetes-productivity-tips">Kubernetes productivity tips and tricks</a></td>
</tr>
<tr>
  <td><img src="https://www.padok.fr/hubfs/Images/Blog/Kubernetes-kubectl-tips.webp#keepProtocol"></td>
  <td>Tips and tricks that will improve your productivity with Kubernetes using Kubectl autocompletion & aliases and Helm, a package manager.</td>
</tr>
</table>

Kubernetesの作業の生産性を向上させるTips集

- コマンド補完
- kubectlのいろんなaliasを作る
- Helm

## Building your own kubernetes CRDs - ITNEXT
<table>
<tr>
  <td colspan="2"><a href="https://itnext.io/building-your-own-kubernetes-crds-701de1c9a161">Building your own kubernetes CRDs - ITNEXT</a></td>
</tr>
<tr>
  <td><img src="https://miro.medium.com/max/1200/1*1HdQc8st8vYA33ZwwYA7fA.png"></td>
  <td>Sharing knowledge on building my own kubernetes CRDs. I will explain steps I use to develop CRDs using my Githook example. I explain the…</td>
</tr>
</table>

CustomResourceDefinitionの作成方法やオペレータの書き方などを、GitLabのWebhookを管理するCRDを例に紹介している。利用するツールはkubebuilder。

## kubernetes/community
<table>
<tr>
  <td colspan="2"><a href="https://github.com/kubernetes/community">kubernetes/community</a></td>
</tr>
<tr>
  <td><img src="https://avatars1.githubusercontent.com/u/13629408?s=400&v=4"></td>
  <td>Kubernetes community content. Contribute to kubernetes/community development by creating an account on GitHub.</td>
</tr>
</table>

Kubernetesの開発フローでどのようにCherryPickをするか　というドキュメント。
[CherryPick専用のスクリプト](https://git.k8s.io/kubernetes/hack/cherry_pick_pull.sh)があるのでそれを利用するようだ。

## Dissecting the HAProxy Kubernetes Ingress Controller - HAProxy Technologies
<table>
<tr>
  <td colspan="2"><a href="https://www.haproxy.com/blog/dissecting-the-haproxy-kubernetes-ingress-controller/">Dissecting the HAProxy Kubernetes Ingress Controller - HAProxy Technologies</a></td>
</tr>
<tr>
  <td><img src="https://cdn.haproxy.com/wp-content/uploads/2019/07/Kubernetes-Ingress-Controller.png"></td>
  <td>The new HAProxy Kubernetes Ingress Controller provides a high-performance ingress for your Kubernetes-hosted applications.</td>
</tr>
</table>

HAProxy Kubernetes Ingress Controllerの紹介。

## Kubernetes Beyond by Andrea Tosatto
<table>
<tr>
  <td colspan="2"><a href="https://devcampy.com/talks/cncf-italy/2019/07/04/kubernetes-beyond-andrea-tosatto.html">Kubernetes Beyond by Andrea Tosatto</a></td>
</tr>
<tr>
  <td><img src="https://devcampy.com//img/kubernetes-beyond-andrea.png"></td>
  <td></td>
</tr>
</table>

CRDをつかってKubernetesをどのように拡張するか、という内容の動画の紹介。

# The Editorial

## Deploying Kubernetes in Highly Restrictive Environments - Kublr
<table>
<tr>
  <td colspan="2"><a href="https://kublr.com/blog/deploying-kubernetes-in-highly-restrictive-environments/">Deploying Kubernetes in Highly Restrictive Environments - Kublr</a></td>
</tr>
<tr>
  <td><img src="https://kublr.com/wp-content/uploads/2019/05/Kubernetes-in-restrictive-environments.gif"></td>
  <td>Installing Kubernetes is easy. Ensuring it complies with enterprise governance and security requirements isn’t. Here's what you should know.</td>
</tr>
</table>

大企業や金融関係の会社など、制限された環境でのKubernetesに求められる要件について。
またそのような要件を満たすための選択肢について書かれている。

## Building Secure Production-Ready Kubernetes Clusters and Containers, Part 1 - Container Journal
<table>
<tr>
  <td colspan="2"><a href="https://containerjournal.com/2019/07/01/building-secure-production-ready-kubernetes-clusters-and-containers-part-1/">Building Secure Production-Ready Kubernetes Clusters and Containers, Part 1 - Container Journal</a></td>
</tr>
<tr>
  <td><img src="https://containerjournal.com/wp-content/uploads/2019/04/K8s-Cluster-Rancher.jpg"></td>
  <td>Creating the right Kubernetes cluster and container environment is a must for security. Here's how to set up an environment properly.</td>
</tr>
</table>

セキュアなクラスタ、コンテナ環境について。Part1はImagePullSecretやNamespaceの紹介。

## Building Secure Production-Ready Kubernetes Clusters and Containers, Part 2 - Container Journal
<table>
<tr>
  <td colspan="2"><a href="https://containerjournal.com/2019/07/09/building-secure-production-ready-kubernetes-clusters-and-containers-part-2/">Building Secure Production-Ready Kubernetes Clusters and Containers, Part 2 - Container Journal</a></td>
</tr>
<tr>
  <td><img src="https://containerjournal.com/wp-content/uploads/2019/03/State-Container-Security.jpg"></td>
  <td>Part 2 of this series on creating the right Kubernetes cluster and container environment discusses advanced steps for proper security.</td>
</tr>
</table>

上記記事の続き。Role-Based Access Control, Pod Security Policy, Secretsの紹介。 コンテナのイメージスキャナの必要性。

そのほか、デプロイのリスクを減らすための方法としてCI/CD,カナリアリリース、モニタリングの必要性を説明している。


## Graphical Tool for Deploying Kubernetes Gets Certified - Container Journal
<table>
<tr>
  <td colspan="2"><a href="https://containerjournal.com/2019/07/01/graphical-tool-for-deploying-kubernetes-gets-certified/">Graphical Tool for Deploying Kubernetes Gets Certified - Container Journal</a></td>
</tr>
<tr>
  <td><img src="https://containerjournal.com/wp-content/uploads/2019/05/canstockphoto45572747.jpg"></td>
  <td>One of the first graphical tools to ever be created to simplify deploying Kubernetes has been certified as a Kubernetes installer by the Cloud Native</td>
</tr>
</table>

[Breeze](https://github.com/wise2c-devops/breeze)というGUIのKubernetesクラスタデプロイツールがCertifyされたとのこと。

## A Look Back At KubeCon + CloudNativeCon + Open Source Summit China 2019 - Cloud Native Computing Foundation
<table>
<tr>
  <td colspan="2"><a href="https://www.cncf.io/blog/2019/07/08/a-look-back-at-kubecon-cloudnativecon-open-source-summit-china-2019/">A Look Back At KubeCon + CloudNativeCon + Open Source Summit China 2019 - 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>We had an amazing time in Shanghai, and wanted to share an overview of the key highlights and news from KubeCon + CloudNativeCon + Open Source Summit China 2019! This...</td>
</tr>
</table>

KubeCon + CloudNativeCon + Open Source Summit China 2019の振り返り記事.

## To run or not to run a database on Kubernetes: What to consider | Google Cloud Blog
<table>
<tr>
  <td colspan="2"><a href="https://cloud.google.com/blog/products/databases/to-run-or-not-to-run-a-database-on-kubernetes-what-to-consider/">To run or not to run a database on Kubernetes: What to consider | Google Cloud Blog</a></td>
</tr>
<tr>
  <td><img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/BlogHeader_Kubernetes_A.max-2200x2200.jpg"></td>
  <td>It can be a challenge to run a database in a distributed container environment like Kubernetes. Try these tips and best practices.</td>
</tr>
</table>

Kubernetesから利用するデータベースをどのように用意するか？VM?マネージド？Kubernetes上で動かす？
などの判断のフローチャートや、Kubernetes上で動かす方法の簡単な紹介 By Google.

## An Inconvenient Truth of the Cloud Native World
<table>
<tr>
  <td colspan="2"><a href="https://www.tfir.io/2019/07/05/cloud-native-trends-security-risk-dirk-hohndel-cncf-kubecon/">An Inconvenient Truth of the Cloud Native World</a></td>
</tr>
<tr>
  <td><img src="https://www.tfir.io/wp-content/uploads/2019/07/electricity-post-2431326_1920.jpg"></td>
  <td>“a better understanding of the code that you’re running is always an advantage,” says Hohndel, “People have started to see the tradeoff between getting something quickly versus making sure it…</td>
</tr>
</table>

CloudNativeの普及に伴い、簡単にOSSを組み合わせて利用できるようになったが、その内部がどのように動いているかを知らずに運用している例が多くみられるようになってきており、それに起因するセキュリティ問題が起きている。

「自分がどのようなアプリケーションを利用していて、それがどのようなフローで動作しているかにもっと注目すべきだ」という主張について説明している。