運び屋 (A carrier(forwarder) changed his career to an engineer)

Network / Cloud Native / Kubernetes / コンテナー / SRE / DevOps

SRE / DevOps / Kubernetes Weekly Reportまとめ#55(2021/2/14~2/19)

この記事は2021/2/14~2021/2/19発行の下記3つのWeekly Reportを読み、備忘録兼リンク集として残しているものです。

なるべく情報を早く届けたい/共有したいので、ブログのリンクを確認次第、先行公開しています。自身のコメントは随時追加しています。

DEVOPS WEEKLY ISSUE #529 February 14th, 2021
SRE Weekly Issue #257 February 14th, 2021
KubeWeekly #251 February 19th, 2021
  • この記事を読んで疑問点や不明点があれば、URLから本文をご確認の上、ご指摘頂ければ幸いです。
  • 理解が浅いジャンルも、とにかくコメントする様にしていますので、私の勘違いや説明不足による誤解も多々あろうかと思います。
  • 情報量が多いので文字とリンクだけに絞っております。
  • 各レポートで取り上げられている記事には2020年以前のものもあり、必ずしも最新のものという訳ではない様です。

DEVOPS WEEKLY ISSUE #529 February 14th, 2021


News

Lots of details about Kubernetes liveness probes, including the problems they look to solve and some of the common implementation errors.
  • タイトルは「Kubernetes Liveness Probes - Examples & Common Pitfalls」。
  • 先週のKubeWeekly #250で取り上げているので、割愛。
A post on potential trends in and around infrastructure and operations in 2021. Continued evolution rather than revolution.
  • タイトルは「Top 8 DevOps Trends for 2021」。
  • 前半はタイトル通り下記8つのトレンドを解説し、後半は「The Future of DevOps in 2021 (and Beyond)」と題して今後の見通しを語っている。
    1. Maturation of Infrastructure Automation (IA) Tools
    2. The Use of Application Release Orchestration (ARO) Tools
    3. More Complex Toolchains
    4. The Rise of DevSecOps
    5. Application Performance Monitoring (APM) Software
    6. A Wider Scope of Cloud Management Platforms (CMPs)
    7. More Uncertain Goals and Requirements
    8. Further Growth of AgileOps
Open source software has been an important part of the devops story. This paper explores some of the recent conversations about licensing, ethics and the issues with open communities.
  • 論文のタイトルは「The Tyranny of Openness:What Happened to Peer Production?」。
  • ソフトウェアのpeer-productionコミュニティー間で進行中の「文化戦争」について考察している。後で改めて読む。
A post on automating the release process for a complex monorepo project using Lerna.
  • タイトルは「Automated release process for (Lerna) monorepo」。
  • 新しいバージョンのソフトウェアを公開(リリース)するプロセスを Lernaで管理されるモノリポジトリで自動化する方法を解説している。
  • Lernaは、gitとnpmを使用したマルチパッケージリポジトリの管理に関するワークフローを最適化するツール。
Logging is too easy to get wrong. This post covers lots of details about Java logging, useful for those building or operating Java applications.
  • タイトルは「Log4j Tutorial: How to Configure the Logger for Efficient Java Application Logging」。
  • 現在のLog4jセットアップ(具体的にはlog4j 2.xバージョン)を理解するための情報を解説している。
  • log4j 1.xはEOLになっているものの世界中のレガシーなアプリで多く使われているとのことで、EOLであることと4j 2.xバージョンへの移行についてスペースを割いている。

Tools

I’m a big fan of making it possible to experiment and learn with even complex platforms locally. Knative on Kind (Konk) does just that for Knative.
  • 「KonK(Knative on Kind)」のGitHubページ。これは試しておきたい。
A simple but handy utility to resize EBS volumes on AWS.
  • その名の通り、AWSのEBSを自動でリサイズするツール「ebs-autoresize」のGitHubページ。
Another useful utility, SecretScanner does exactly what you’d think, finding secrets from file systems or container images.
  • ユーザーがホスト上のコンテナイメージまたはローカルディレクトリをスキャンし、見つかったすべてのシークレットの詳細を含むJSONファイルを出力するツール「SecretScanner」のGitHubページ。
  • 「Disclaimer」でハッキング目的で使わないことなどが明記されている。
  • Editorがコメントしている通り、一度に多くのNPMパッケージをモノリポジトリの構成でビルドして公開するJavaScript開発者を楽にするために開発されたツール「Rush」のWebページ。

SRE Weekly Issue #257 February 14th, 2021


Articles

Sometimes alerts have inobvious reasons for existing

This one really got me thinking. Make sure you document why an alert exists, not just what it checks for.

Chris Siebenmann

  • 筆者が「TLS証明書の有効期限が近づいたときに何らかのアラートを生成するなど、一般的なアラートの慣行について否定的なことを言う人を見かけたこと」を契機に書かれた投稿。伝えたいことは、上記のEditorコメントの通りだと思う。
Incident response from monolith to microservices

If you start with a monolith and adopt a microservice architecture, your incident response process will need to change as well.

Mya Pitzeruse — effx

  • タイトルの内容について以下5つのポイントで解説している記事。
    • Know the key differences
    • Establish developer accountability
    • Enable teams with visibility and access
    • Invest in your SRE team and practices
    • Parting thoughts
Minesweeper automates root cause analysis as a first-line defense against bugs

Another one that needs a disclaimer: there’s no single “root cause” for an incident, and this article is not about that. This is about using statistical software to aid humans in debugging by looking at the activities performed by different users before they encounter a given bug.

Vijay Murali, Edward Yao, Umang Mathur, Satish Chandra — Facebook

  • 症状によってバグを発生させた根本原因を特定し、RCA(Root cause analysis)を自動化する「Minesweeper」を紹介しているFacebook社のEngineeringブログの記事。Disclaimerは上記のEditorのコメントを参照。
On Not Being a Cog in the Machine

A new SRE at Honeycomb shares insight on the job and SRE attitudes in general.

Fred Hebert — Honeycomb

  • 筆者がHoneycomb社の最初の専属SREとしての最初の週で、「チームの第一印象とチームに参加することにした理由についてブログに投稿するか?」と尋ねられたことを契機に書いた記事 。内容は上記のEditorのコメント通りで、以下の3つのポイントで話を進めている。
    • Fostering Human Processes
    • Sociotechnical systems and context awareness
    • Adapting and sharing observability
Slack’s Jan 2021 outage: a tale of saturation

Slack’s Jan 2021 outage: a tale of saturation This post considers the January 4th Slack outage as a set of cases of saturation.

Lorin Hochstein

  • Slack社の2021/1/4の障害についてまとめている同社のengineering blog「Jan. 4, 2021 outage」を取り上げ、saturationを切り口に解説している。
  • Slack社がAWSを単一のアカウントで運営していた頃について触れているSlack社のブログ記事「Building the Next Evolution of Cloud Networks at Slack」から下記を引用し、3種類のsaturationを解説。こういった経緯を踏まえるとイメージが湧きやすい。
    • As our customer base grew and the tool evolved, we developed more services and built more infrastructure as needed. However, everything we built still lived in one big AWS account. This is when our troubles started. Having all our infrastructure in a single AWS account led to AWS rate-limiting issues, cost-separation issues, and general confusion for our internal engineering service teams.
  • 確かにVPC PeeringのCIDR管理も数百アカウントは考えたくないな。そうして以下の技術を採用。
    • AWS shared VPCs
    • AWS Transit Gateway Inter-Region Peering

Outages

上記各社の障害情報


KubeWeekly #251 February 19th, 2021

The Headlines

Editor’s pick of the highlights from the past week.

Kubernetes README: What books to read to learn more about Kubernetes

Chris Short, Red Hat

Cool resource! Find out what books to read to learn more about Kubernetes. Please submit pull requests for books, tutorials, or other assets that would be useful to folks.

  • これはKubernetesの世界に入っていくのに良さそう。上記のEditorのChrisの言う通りPRを送れるようになっているので、英語のリソースで有益なものがあれば、提案していくと良いと思う。

The Technical

Tutorials, tools, and more that take you on a deep dive into the code.

Configure multi-tenancy with Kubernetes namespaces

Mike Calizo, Opensource.com

  • KubernetesのNamespaceといくつかの基本的なRBAC構成を使用して、単一のKubernetesクラスターをパーティション分割し、この組み込みのKubernetesツールを利用する方法を解説している。
NetworkPolicy Editor: Create, Visualize, and Share Kubernetes NetworkPolicies

Sergey Generalov., Isovalent

  • Kubernetes NetworkPolicyのYAMLファイル作成を支援するツール「NetworkPolicy Editor」の紹介。
  • 良さそう。私のPC/モニター環境では「Policy Editor doesn't support small screens Please use desktop or expand the window」と言うメッセージが出て使えなかったが。。ブラウザのウィンドウをモニターから本体側に動かしたら拡大したりしてみたけれどもダメ。何だろう?。
csantanapr/knative-kind: Knative on Kind (KonK)

Carlos Santana, IBM

  • 上記のDEVOPS WEEKLY ISSUE #529でも取り上げている「KonK」のGitHubページ。
Creating an Argo Workflow With Vault Integration Using Helm

Jason Froehlich, Red Hat

  • Argoは、Red Hat OpenShiftシークレットにアクセスする便利な方法を提供するが、会社としてVaultを使用している場合の利用方法と、簡単にインストールして再利用できるようにHelm Chartにパッケージ化する方法を解説している。
OpenShift Administrator’s Office Hour: Windows Containers w/ Special Guest Christian Hernandez

Andrew Sullivan, Christian Hernandez, Chris Short, Red Hat

  • 上記タイトルのWebinar動画。ブログ記事はこちらにあり、この動画も埋め込まれているので、こちらから見た方が良いかも。
shell-operator & addon-operator news: hooks as admission webhooks, Helm 3, OpenAPI, Go hooks, and more!

Ivan Mikheykin, Flant

Rate Limiting in controller-runtime and client-go

Daniel Magnum

  • 以下のセクション構成でタイトルの内容を解説している。
    • WHAT IS RATE LIMITING?
    • WHAT’S IN A CONTROLLER?
    • WHAT HAPPENS WHEN WE FAIL?
    • THE DEFAULT CONTROLLER RATE LIMITER
    • USING YOUR OWN RATE LIMITER
    • WRAPPING UP
What was observability again?

Cristian Klein, Elastisys

  • 以下2つの観点で可観測性について詳しく解説している。
    1. さまざまな種類の可観測性
    2. 可観測性を実装することの技術的な意味
  • 読者が下記を理解することを目指している。
    • At the end of this post, you will understand why you should resist the temptation to save a few bucks on observability.
  • 「In fact, observability is so critical that as of February 2021, the Cloud Native Computing Foundation (CNCF) lists 102 projects in that category」と改めて数字を出されたら、関連するプロジェクトの多さに二度見した。
Building Custom Control Planes using Crossplane

Sahil Lakhwani, InfraCloud

  • Crossplaneを使用して、クラウドプロバイダーの上に独自のコントロールプレーンを作成する方法を解説している。今回は例として、AWS環境を利用するパターンで解説。
Build and publish container images to any cloud with Infrastructure as Code

Joe Duffy, Pulumi

  • わずか数行のコードを使用して、クラウド全体でシンプルなコンテナイメージを構築、公開、利用する方法を下記項目で解説しているPulumi社のブログ記事。
    • Approach
    • Prepare a Container Registry
    • Build and Publish Your Container
    • Consume the Container Image
    • Wrapping Up

ICYMI: CNCF online programs this week

A weekly summary of CNCF online programs from this week.

Toward Hybrid Cloud Serverless Transparency with Lithops Framework

Gil Vernik @IBM

  • サーバーレスコンピューティングを、ハイパフォーマンスコンピューティング、モンテカルロシミュレーション、ビッグデータの前処理、分子生物学などの幅広いシナリオで簡単に使用できるようにする方法について、深く掘り下げている。
This Week in Cloud Native (Livestream): KCD El Salvador
  • スペイン語でのセッション。日本語でも同様にCNCF Online Programsで定期であると良さそうな気がする。

The Editorial

Articles, announcements, and morethatgive you a high-level overview of challenges and features.

Datadog and the Container Report, with Michael Gerstenhaber

Craig Box, Kubernetes Podcast from Google

  • Google社社員によるKubernetes Podcast。現在のCo-hostはCraig Box氏。Adam Glick氏はgreener pasturesへ。数週間は過去のゲストをゲストホストとして参加予定。
  • 今週はEpisode#103に登場しているCSI(Container Storage Interface)、ボリュームサブシステムを含むKubernetesのストレージ周りの開発をリードしたGoogle社のSaad Ali氏がゲストホスト。
  • Datadog社のDirector of Product Management、同社のannual Container ReportのcuratorであるMichael Gerstenhaber氏をゲストに迎えている。
  • News of the weekで気になったトピックは以下の通り。
Kubernetes Deployment Antipatterns — part 1

Kostis Kapelonis

  • 10 Docker anti-patternsに続き、以下KubernetesのDeploymentの15のアンチパターンを3つの記事に分けて解説している。part 2part 3はこちら。
    1. Deploying images with the “latest” tag
    2. Hardcoding configuration inside container images
    3. Coupling the application with cluster constructs
    4. Mixing infrastructure deployments with application releases
    5. Doing manual deployments using kubectl
    6. Using kubectl for debugging clusters
    7. Not understanding the Kubernetes network model
    8. Wasting resources on static environments instead of dynamic ones
    9. Mixing production and non-production workloads in the same cluster
    10. Not understanding memory and CPU limits
    11. Misusing health probes
    12. Not understanding the benefits of Helm
    13. Not have effective application metrics
    14. Handling secrets in an ad-hoc manner
    15. Adopting Kubernetes even when it is not the proper solution.
Kubernetes Pods Advanced Concepts Explained

Regis Wilson, Release

  • Kubernetesのinit container、サイドカー、config map、probeに関連する特定の高度な概念について解説している。
Discover and invoke services across clusters with GKE multi-cluster services

Emeka Nwafor, Product Manager, and Jeremy Olmsted-Thompson, Staff Software Engineer, Google Cloud

  • Kubernetesネイティブなクロスクラスターサービスディスカバリーおよび呼び出しメカニズムである「MCS(multi-cluster services)のGAに伴う紹介記事。
  • Common MCS use casesの中で、early adopterとしてMercari社より以下のコメントが紹介されていた。
    • “We have been running all our microservices in a single multi-tenant GKE cluster. For our next-generation Kubernetes infrastructure, we are designing multi-region homogeneous and heterogeneous clusters. Seamless inter-cluster east-west communication is a prerequisite and multi-cluster Services promise to deliver. Developers will not need to think about where the service is running. We are very excited at the prospect.” - Vishal Banthia, Engineering Manager, Platform Infra, Mercari

Upcoming CNCF Online Programs

CNCF End User technology radar, February 2021 – Secrets Management
James Nugent @Apple, Steve Nolan @RStudio, Andrea Galbusera @AuthKeys, and Tyler Gass @Peloton
February 23, 2021
Register Now

This Week in Cloud Native (Livestream): Fluent Bit updates and Stream Processing
Anurag Gupta @FluentBit
February 24, 2021 at 12:00 pm PT
Register Now

The Container Security Checklist
Liz Rice @Aqua Security
February 25, 2021
Register Now

CNCF Online Programs Playlist on YouTube

Check out our playlist for more curated content you don’t want to miss! New content is added every Friday.


いかがでしたか?気になる記事や情報はありましたか?

私もまだ内容を咀嚼出来ていないものが多々ありますので、この備忘録兼リンク集を活用しながら理解を深めていきたいと思います。

では、また。

Bye now!!

Yoshiki Fujiwara