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

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

SRE / DevOps / Kubernetes Weekly Reportまとめ#53(2021/1/31~2/5)

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

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

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

DEVOPS WEEKLY ISSUE #527 January 31st, 2021


News

A detailed writeup and timeline of a security incident. It’s important to learn from events like this, and the post finishes up with some concrete recommendations.
  • タイトルは「A deeper dive into our May 2019 security incident」。
  • 2019年5月に発生したセキュリティインシデントについて、時間が経っているが法執行機関との協議の結果、何が起こったのか、どのように起こったのか、事件を引き起こした根本的な問題に対処するために何をしたのかについて、より詳細に説明できるようになったため共有している。
A discussion of various facets of building reliable systems. From SLOs to runbooks, service catalogues to feature flags and more.
  • タイトルは「2021 is the Year of Reliability」。
  • 2021年におけるソフトウェアに対するそれぞれの期待と、その期待を達成する方法の概要を、下記の項目に沿って解説している。
    • Customers want reliable software.
    • Operators want reliable software.
    • How do we achieve reliable reliability?
    • SLOs
    • Every day is a chance to be more reliable.
A post describing the high-level security architecture for a web site. What makes it interesting is the focus on proportionality, being as secure as needed rather than as secure as possible,
  • タイトルは「Securing the NCSC’s web platform」。
  • UKのNCSC(National Cyber Security Centre)が以下の項目に沿って、運営しているWebページのポイントを解説している。
    • As secure as necessary
    • The cost of security controls
    • Sensible security architecture
    • The web platform will never be 'done'
    • The balancing act is hard
  • 適切なリスクマネジメント、使いやすさ/機能性/コストのバランス、Game Daysなど、組織名の受ける印象よりも先進的で柔軟そうな観点やアイデアが並んでいた。
A good post on the risks associated with permissive permissions and privilege escalation with Kubernetes pods.
  • タイトルは「Bad Pods: Kubernetes Pod Privilege Escalation」。
  • 以下8つの安全でないポッド構成と、特権昇格の実行に対応する方法について解説している。
    • Bad Pod #1: Everything allowed
    • Bad Pod #2: Privileged and hostPid
    • Bad Pod #3: Privileged only
    • Bad Pod #4: hostPath only
    • Bad Pod #5: hostPid only
    • Bad Pod #6: hostNetwork only
    • Bad Pod #7: hostIPC only
    • Bad Pod #8: Nothing allowed
  • この記事と付随するリポジトリは、ペネトレーションテストのテスターと管理者が一般的な設定ミスのシナリオをよりよく理解できるようにするために作成されている。
Why does it take so long to build software? Lots of observations in this post, about accidental complexity, about increasing demands vs 10 or 20 years ago on several fronts, on the rise of frameworks and tools that solve problems you might not have and more.
  • タイトルは「Why does it take so long to build software?」。
  • 下記の項目に沿ってテーマの内容を解説している。
    • Different types of complexity? That’s complex.
    • Here comes the accidental complexity.
    • How does this apply to software?
    • We are asking more and more of our software.
    • The volume of software within companies is exploding.
    • The pace of new technology adoption is increasing.
    • Is there hope?
  • 将来の投稿では、偶発的な複雑性がソフトウェアプロジェクトに与える影響と、ビジネスのニーズを確実に満たしながら、それをより効果的に回避する方法について説明する、とのこと。
Hex is the package manager for Erlang and Elixir. A new feature, called Hex Preview, allows for checking the contents of source files from specific versions of packages. An important use case that’s easy to miss with the growth of supply chain attacks.
  • タイトルは「Introducing Hex Preview」。
  • タイトル通り、Hexパッケージのソースファイルを表示するためのオンラインツール「Hex Preview」のリリースに伴い紹介している。
An example of writing unit tests for Helm charts using Go.
  • タイトルは「How to unit-test your helm charts with Golang」。
  • 先週のKubeWeekly #248で取り上げているため、割愛します。

Events

An event all about the low-level bits of containers. Container runtimes, image building, image scanning, container security and isolation, virtualization inside containers, etc. Taking place March 9th/10th, with the CFP submissions due by the 10th of February.
  • 2日間の“lower-level” open source container technologiesのイベント「The Container Plumbing Days」の紹介。
  • スケジュールは下記で、日本時間(JST)では24時スタートですかね。
    • Tuesday March 9th, 2021, 15:00 to 19:00 UTC (10am to 2pm Eastern)
    • Wednesday, March 10th, 2021, 15:00 to 19:00 UTC (10am to 2pm Eastern)
  • Aboutに記載されているイベントが期待している主なプロジェクト、技術は以下のもの。
    • Buildah, CRI-O, Katacontainers, Kubevirt, Clair, Skopeo, Cgroups2, Krustlet, Seccomp, Podman, KIND, Tern, and many others.

Tools

Simdjson is a JSON parsing library that aims to make parsing gigabytes of JSON per second trivial. Interesting design and API, and bindings available in lots of languages.
  • 高速にJSONをparseするライブラリー「simdjson」のGitHubページ。
Etok provides a nice user interface for running Terraform on Kubernetes. Avoid needing local credentials or access to APIs. Some handy integration with GCP as well.
  • Execute Terraform On Kubernetesの略で「Etok」と名付けられているツールのGitHubページ。
  • README記載の「Why」は以下の通り。
    • Leverage Kubernetes' RBAC for terraform operations and state
    • Single platform for end-user and CI/CD usage
    • Queue terraform operations
    • Leverage GCP workspace identity and other secret-less mechanisms
    • Deploy infrastructure alongside applications
Litestream is a standalone streaming replication tool for SQLite. It runs as a background process and safely replicates changes incrementally to another file or S3.
  • SQLite用のスタンドアロンストリーミングレプリケーションツール「Litestream」のGitHubページ。
  • バックグラウンドプロセスとして実行され、変更を別のファイルまたはS3に段階的に安全に複製する。 LitestreamはSQLiteAPIを介してのみSQLiteと通信するため、データベースが破損することはない、とのこと。

SRE Weekly Issue #255 January 31st, 2021


Articles

Why It Should Be Service, Not Site Reliability

It really should! Even Google is much more accurately described as a “service” than a “site”.

Chris Riley — Splunk

  • SREのSは「サイト」の略だが、筆者は開発者が今日提供するものとより一致する「サービス」であるべきだと以下のポイントに沿って主張している。
    • Subscription-based business models
    • Application architectures
    • Modern delivery chain
    • Cross-platform
    • Customer-centric
Migrations: the sole scalable fix to tech debt.

There are migrations, and then there’s the time between migrations.

Will Larson

  • Uber社がPuppetマネージドサービスから完全なセルフサービスプロビジョニングモデルに移行した話をタイトルに沿って解説している。
  • 「移行時に検証で意図した問題を解決できることを確認した後に、「ツールに磨きをかける」時間を移行のペースを落として取ることにより、移行のコストを下げる」というのは個人的に大事なポイントだと感じた。
2021 is the Year of Reliability

2020 was the year mainstream folks realized how important reliability is. Will overall reliability improve in 2021?

Robert Ross — FireHydrant

  • 上記のDEVOPS WEEKLY ISSUE #527で取り上げているので、割愛します。
This SRE atempted to roll out an HAProxy config change. You won’t believe what happened next…

I love this for the click-bait title and the content. An HAProxy feature designed for HA had a surprising an unexpected behavior.

Andre Newman — GitLab

  • 筆者達がHAProxyからの奇妙な動作を調査しているときに、発見したことを詳しく説明している。
  • TLDRは以下
    • HAProxy has a server-state-file directive that persists some of its state across restarts.
    • This state file contains the port of each backend server.
    • If an haproxy.cfg change modifies the port, the new port will be overwritten with the previous one from the state file.
    • A workaround is to change the backend server name, so that it is considered to be a separate server that does not match what is in the state file.
    • This has implications for the rollout procedure we use on HAProxy.
Tyler Wells on building a culture of reliability at Twilio

Twilio builds customer trust through a reliability culture, customer empathy, and accountability.

Andre Newman — Gremlin

  • Twilio社のSenior Director of EngineeringであるTyler Wells氏によるトークから以下ポイントを中心に抜粋している。
    • Reliability is built on customer trust
    • Culture
    • Customer empathy
    • Accountability
    • Reliability is a journey
WTF is SRE WTFinar

This WTFinar tackles the beginning of understanding SRE. It focuses on service level indicators (SLIs) and service level objectives (SLOs) – components of error budgets.

Container Solutions

  • Container Solutions社のWebinar「WTF is SRE?」を取り上げている。
  • SREの理解のスタート地点としてSLIとSLOに焦点を当てている。
  • 上記の通り、2/9(火) 15:00 CET(Central European Time zone)なので、日本時間では23:00開始。

Outages

上記各社の障害情報


KubeWeekly #249 February 5th, 2021


The Headlines

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

Welcome to our 5 new TOC members!

Chris Aniszczyk, CNCF

Help us give a warm welcome to the newest members of the TOC:
* Erin Boyd, Apple
* Cornelia Davis, Weaveworks
* Lei Zhang, Alibaba
* Dave Zolotusky, Spotify
* Ricardo Rocha, CERN
Learn more about the TOC and newest members in the latest blog post.

  • CNCFのTOC(Technical Oversight Committee)の上記新メンバー5名の選出を知らせる記事。
  • TOCの位置付け、Governing Board (GB)とEnd User Community (EUC)に任命されたメンバーの略歴を紹介している。
  • また、任期を終えた以下3名のメンバーに感謝を述べている。
Cloud Native Computing Foundation Announces Open Policy Agent Graduation

CNCF blog

Congratulations to Open Policy Agent (OPA) for hitting graduated status! OPA has demonstrated widespread adoption, an open governance process, feature maturity, and a strong commitment to community, sustainability, and inclusivity to graduate.

  • タイトルの通り、OPAのMaturity Level(成熟度)がGraduationを迎えたとCNCF TOCにより受理されたことを伝える記事。
  • OPAは2018年4月にCNCF sandboxに受け入れられ、1年後にincubationに昇格した。約30の組織から90人以上がOPAに貢献しており、maintainersはGoogle、Microsoft、VMware、Styraの4つの組織に所属しているメンバーからなる。
  • Maturity Levelに応じた2021/02/06時点の昇格条件はCNCF Graduation Criteria v1.3を参照。


The Technical

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

Killing Containers at Scale

Connor Brewster, Replit

  • 筆者の調査の結果、「DockerがVM上のすべてのコンテナを強制終了するのに30秒以上かかっている」という課題に対して、コンテナを自身で強制終了する方法とその効果を解説している。
Kubernetes - How to Debug CrashLoopBackOff in a Container

David Giffin, Release App

  • k8を適切に構成する方法については説明せず、代わりに、コンテナで「CrashLoopBackOff」エラー発生時の自他のコードのデバッグに焦点を当てている。
Hunting for Malware with Falco

Dan Lorenc

  • 筆者がプラットフォームを構築して、目に見えないところに隠れている悪意のある動作を探す方法について解説している。
Deliver your applications to edge and IoT devices in rootless containers

Ilkka Tengvall, Red Hat

  • systemd、Podman、Red Hat Ansible Automationを使用して、ソフトウェアを自動化し、コンテナとして小規模なエッジおよびモノのインターネット(IoT)ゲートウェイデバイスにプッシュする方法を解説している。
Building a Kubernetes CI/CD Pipeline with GitLab and Helm

Dan Slapelis, Nextthink Labs

  • Kubernetes上のCI/CDパイプラインをパズルに見立てて、パズルのピースである継続的デリバリー(CD)をボルトで固定して、CI/CDパイプラインを構築し、アプリをKubernetesにデプロイする方法を示している。前提として、パズルの重要な部分であるHelmについてから解説を始めている。
Kubernetes vs Docker: Understanding Containers in 2021

Tomas Fernandez, semaphore

  • 数週間前、Kubernetes開発チームはDockershimを非推奨にすることを発表したことに対して、よくある疑問点について基本となるコンテナ、Docker、Kubernetesについてから解説している。
  • 既にDocker、Kubernetesについて知っている方には記事内の「how does the Dockershim deprecation impact you?」の項目までSkipして読むことを勧めている。

ICYMI: CNCF online programs this week

A weekly summary of CNCF online programs from this week.

CNCF On-demand webinar: Policy as Code to manage security risk in K8s before & after deployment

Cesar Rodriguez @Accurics

  • 上記タイトルのOn-demandのwebinarの紹介。興味ある方は登録して視聴を。登録者のみの限定公開で、公開期間は2021年2月4日0:00 - 2021年2月10日23:59 (PST)。
  • Kubernetes開発チームが、OPA(Open Policy Agent)などのオープンスタンダードやTerrascanなどのオープンソースIaCスキャナーを使用して、ポリシーをコードとしてセキュリティーを向上させる方法を解説している。
This Week in Cloud Native (Livestream): Kubernetes Policies-as-Code

Jim Bugwadia @Nirmata

  • NirmataがCNCFサンドボックスプロジェクトであるKyvernoを使用して「コードとしてのポリシー」を有効にする方法を紹介するセッション。
  • 2021/02/06時点で上記のページに動画の埋め込みやリンクが無かったが、YouTubeにアップされていた「This Week in Cloud Native: Kubernetes Native Policy As Code」で良いはず。

The Editorial

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

Backstage, with Lee Mills and Matt Clarke

Craig Box, Kubernetes Podcast from Google

  • Google社社員によるKubernetes Podcast。現在のCo-hostはCraig Box氏。Adam Glick氏はgreener pasturesへ。数週間は過去のゲストをゲストホストとして参加予定。
  • 今週はEpisode#106に登場しているGoogle社のSenior SWE、Kubernetes SIG Architectureのco-chair、CoreDNS projectのCore Maintainer、O’Reilly本「Learning CoreDNS: Configuring DNS for Cloud Native Environments」の著者であるJohn Belamaric氏がゲストホスト。
  • 「Backstage」のmaintainerであるSpotify社のLee Mills氏とMatt Clarke氏をゲストに迎えている。
    • Backstageは一元化されたサービスカタログを利用して、開発者ポータルを構築するためのプラットフォーム
    • Spotifyで開発されたオープンソースであり、2020年にCNCFに寄贈された
  • News of the weekで気になったトピックは以下の通り。
Release Orchestration

Vamp.io Introduces Research Report The 2021 State of Cloud-Native

  • タイトルにあるレポート内容に沿って、2021年現在の本番環境でのソフトウェアのリリースと検証に関して、課題、傾向、改善の機会について解説している。
  • この調査では、中小企業とエンプラがクラウド、Kubernetes、マイクロサービスの旅を追求する際に直面している厳しい課題にスポットライトを当てている。


Upcoming CNCF Online Programs

CNCF Live webinar: How to Manage Kubernetes Application Life Cycle Using Carvel
presented by VMware
February 9, 2021 at 10:00 am PT
Register Now

CNCF On-demand webinar: Debugging Kubernetes On The Fly
presented by Rookout
February 11, 2021
Register Now

CNCF On-demand webinar: Otomi Container Platform Open Source Announcement
presented by Red Kubes RV
February 11, 2021
Register Now

For more information, please visit our updated Online Programs page.


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

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

では、また。

Bye now!!

Yoshiki Fujiwara