KubeWeeklyは毎週Kubernetesに関する興味深いニュースを提供しています。(https://kubeweekly.io/ )この記事は 2019/09/19に発行された Kube Weekly #185を読んで、感じたことをメモ的にまとめたものです。
私の勘違いや説明不足による誤解もあるかと思いますので、この記事読んで「おっ」と思ったらURLを辿って本文を確認してください。
(過去のKubeWeekly読書メモはこちら)
The Headlines
Kubernetes 1.16: Custom Resources, Overhauled Metrics, and Volume Extensions
Kubernetes 1.16: Custom Resources, Overhauled Metrics, and Volume Extensions | |
![]() |
Authors: Kubernetes 1.16 Release Team We’re pleased to announce the delivery of Kubernetes 1.16, our third release of 2019! Kubernetes 1.16 consists of 31 enhancements: 8 enhancements moving to stable, 8 enhancements in beta, and 15 enhancements in alpha. Major Themes Custom resources CRDs are in widespread use as a Kubernetes extensibility mechanism and have been available in beta since the 1.7 release. The 1.16 release marks the graduation of CRDs to general availability (GA). |
Kubernetes 1.16がリリースされました。
その概要について紹介しています。
- Custom ResourcesがGAとなった
- metricsのオーバーホールが完了
- ボリューム拡張がベータに昇格
- Windows向けの機能追加
- Endpoint Slicesというスケール問題に対応したEndpointの代替となる機能がAlphaリリース
- Topology ManagerというあたらしいKubeletのコンポーネントが追加されました。
- PodやServiceにIPv4とIPv6のDual-stackのアドレスを使うことができるようになりました。
- 古いAPIVersionが廃止されました。extensions/v1beta1, apps/v1beta1, apps/v1beta2
Kubernetes veteran, Tim Hockin: In software, people are always wrong • DEVCLASS
Kubernetes veteran, Tim Hockin: In software, people are always wrong • DEVCLASS | |
![]() |
Kubernetes' Tim Hockin sits down with DevClass to talk about being always wrong and the day to day business of one of the most popular open source projects. |
Kubernetesの開発者の一人であるTim Hockinへのインタビュー記事。
Kubernetesに拡張性を持たせている理由や、今後Kubernetesをどのように改善していくか といった話について述べている。
The Technical
Announcing Istio 1.3
Announcing Istio 1.3 | |
Istio 1.3 release announcement. |
Istioの1.3がリリースされました。
- 実験的な機能として、プロトコルの自動判別機能や、Mixerを介さずにメトリクスを取得する方法などが実装されました。
- containerPortを明示する必要がなくなりました。
- Envoyをより柔軟に設定できるようになりました。
- などなど
Docker Security 101: Risks and 33 Best Practices · StackRox: Security for Containers and Kubernetes
Docker Security 101: Risks and 33 Best Practices · StackRox: Security for Containers and Kubernetes | |
![]() |
Learn about Docker container security challenges as well as best practices for hardening Docker and protecting containers during runtime |
- Dockerのセキュリティを強化するために気を気を配るべき8項目
- Dockerのセキュリティのための26のベストプラクティス
- Kubernetesのセキュリティのための7つのベストプラクティス
- セキュリティ監査に役立つ11のセキュリティに関する質問
Setting up a CI/CD pipeline w/ Jenkins, Nexus, Kubernetes
Setting up a CI/CD pipeline w/ Jenkins, Nexus, Kubernetes | |
![]() |
This tutorial walks you through the steps needed to set up a comprehensive CI/CD pipeline with Jenkins, Nexus and Kubernetes. |
Kubernetesクラスタ上にJenkinsとNexusを構築しCI/CDを実現する方法の紹介。
Monitoring Prow Resources with Prometheus and Grafana
Monitoring Prow Resources with Prometheus and Grafana | |
![]() |
At Loodse we’re making extensive use of Prow, Kubernetes’ own CI/CD framework, for our public and private projects. Prow is responsible for managing … |
Prowを動かしているKubernetesクラスタをPrometheusでメトリクス収集し、Grafanaで可視化する方法を紹介。
PrometheusのデプロイにはPrometheus Operatorを利用している。
また可視化により、適切なResourceのRequestやLimitの設定について得られた知見などが紹介されている。
How to Release Faster with Continuous Delivery for Google Kubernetes
How to Release Faster with Continuous Delivery for Google Kubernetes | |
![]() |
In this tutorial, we’ll learn how to set up a continuous delivery pipeline for Google Kubernetes using Semaphore CI/CD. |
GKEに対してSemaphore CI/CDをつかってアプリケーションをデプロイする方法を紹介。
How I passed my CKAD with 97%
How I passed my CKAD with 97% | |
In August 2019, I have undergone the Certified Kubernetes Application Developer (CKAD) examination. I have scored an astonishing 97%! As a… |
CKADを97%という成績でクリアした人による攻略法についての記事
Kubernetes and Python
Kubernetes and Python | |
![]() |
While Go is the language-of-choice in the cloud-native world, Python has a huge community and makes it really easy to extend Kubernetes in only a few lines of code. This post is a follow-up to a talk |
"Kubernetes + Python = ❤" というテーマの記事
- PythonのWebサービスを作る際のGraceful Shutdownについてのやり方
- PythonからKubernetesのAPIを呼び出すライブラリの紹介
- PythonでのOperatorの作り方
- PytestとKindを使ったテストのやり方
containers/podman-compose
containers/podman-compose | |
a script to run docker-compose.yml using podman. Contribute to containers/podman-compose development by creating an account on GitHub. |
podmanを利用してdocker-composeを実現するためのスクリプト。
An Introduction to Kustomize
kustomizeの紹介。
Unleash the power within your Kubernetes Helm Charts
Unleash the power within your Kubernetes Helm Charts | |
![]() |
A few chart tricks I wish I knew when I get started with K8S. They completely changed our infrastructure automation philosophy. |
Kubernetesを使ったオペレーション作業の自動化を段階別に紹介している。
Helmとタイトルにはあるが、あまりHelmに特化した内容は見られない。
- サードパーティのオペレータとCRDを使った方法
- Init-Containerを使った方法
- Jobを使った方法
- オペレータを作る方法
What's new in Kubernetes 1.16? | Sysdig
What's new in Kubernetes 1.16? | Sysdig | |
![]() |
What's new in Kubernetes 1.16: Ephemeral containers for easy pod debugging, support for dual-stack network, new options for the scheduler and much more. |
恒例のSysdig社によるKubernetes 1.16 変更点紹介
重要な機能変更についてPRのリンク付きで紹介されており、さっと変更点を確認する上で非常に有用そうです。
ざっと見出しだけ並べると↓のような感じです。 興味のあるトピックはぜひ、原文やPRを辿ってみてください。
- (alpha) debug目的でコンテナをPodに後付けできる Ephemeral containers (CLIから利用できるようになるのはもう少し先)
- (alpha) PodのIPv4/IPv6のデュアルスタック対応
- (alpha) 新しいEndpoint APIである ”EndpointSlice API”
- (alpha) Podが利用するリソースのうち、ランタイムにより発生する部分について指定することができる ”Pod overhead”
- (alpha) failure domainにまたがってPodを散らして配置できるようになる "topologySpreadContainers"
- (alpha) liveness-proveの前のチェック "startupProbe"
- (alpha) より細かいリソース要求に応じたスケジュールリング指示を出すための "RequestedToCapacityRatioPriority"
- (beta) RuntimeClassによるスケジューリング。
- (alpha) kubeadm for Windows
- (alpha) RunAsUserName for Windows
- (beta) Support GSMA for Windows workloads
- (stable) Admission webhookで他のWebhookでリソースが変更された場合に再実行をする機能
- (beta) watch bookmark
- (alpha) Node topology manager
- (alpha) kubeadmでkustomizeが利用できるように
- (beta) Server-side apply
- (beta) LoadBalancerリソースにFinalizer
- (beta) AzureのAZラベルが付与されるようになった
- (stable) [Azure] Cross resource group nodes
- (alpha) Support CSI plugins in Windows
- (beta) PVCDataSourceによるクローン
- (beta) CSI Volumeのリサイズ
- (beta) CSI inline volume
- (stable) CustomResoureceDefinitions
- (stable) Subresources for custom resoureces
- (stable) Defaulting and pruning for custom resources
- (stable) Webhook converson for custom resoureces
- (stable) Publish CRD OpenAPI Schema
- Deprecations
- SelfLinkフィールド
- in-tree cloud-provider
- metrics overhaul
The Editorial
Amazon EKS Security Best Practices
EKSを使う上でのセキュリティベストプラクティス。
EKS独自のネットワークプラグインのセキュリティ上の問題点や、Metadata APIへのアクセスを制限するなど。
An Inside Look at GitOps - DevOps.com
An Inside Look at GitOps - DevOps.com | |
![]() |
In its most basic form, GitOps is infrastructure and operational procedures defined as code, and living in a source control system, such as Git. |
GitLabの社員によるGitOpsの紹介。本番環境を直接操作することは、GitOpsよりも簡単でついついやりがちですが、そういう“cowboy engineering”を減らすことがGitOps導入においては重要とのこと。
Tips for Using Kubernetes in Large Enterprises - insideBIGDATA
Tips for Using Kubernetes in Large Enterprises - insideBIGDATA | |
![]() |
In this contributed article, technology writer Gilad David Maayan provides a clear and concise overview of Kubernetes, the darling of the DevOps community. He then offers a number of useful tips for using Kubernetes on an enterprise scale. |
エンタープライズでKubernetesを導入するためのTips
- マネージドサービスを検討する
- セキュリティに気を配る
- ログとモニタリング
- カスタムコントローラを利用する
Mistake that cost thousands (Kubernetes, GKE)
Mistake that cost thousands (Kubernetes, GKE) | |
![]() |
Lessons learned scaling Kubernetes cluster |
GKEでの筆者の失敗談の共有。
600vCPU程度を利用するKubernetesクラスタで、ピーク時は倍ほどリソースを使い、また0に近くなるような時間帯も存在するようなクラスタです。
また、HPAやCluster Autoscaleも利用しています。
このようなクラスタを構成するときに1vCPUの小さなマシンをつかっていたようですが、これがよくなかったようです。
急なバースト時にNodeの増加が間に合わない事象が起きてしまい、結果PodのResource Requestを増やす羽目になり、そのためにidle状態の小さなVMに対してお金を払う羽目になってしまっていました。
対策としてはv16CPUの少し大きなVMを使うことにしたようです。これにより全体のコストを抑えることができたそうです。