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

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

SRE / DevOps / Kubernetes Weekly Reportまとめ#34(9/20~9/25)

この記事は2020/9/20~9/25に発行された下記3つのWeekly Reportを読み、備忘録兼リンク集として残したものです。

  • 誰かの情報源や検索工数削減などになれば幸いです。
DEVOPS WEEKLY ISSUE #508 September 20th, 2020
SRE Weekly Issue #236 September 20th, 2020
KubeWeekly #234 September 25th, 2020

English Version of this blow is here.

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

DEVOPS WEEKLY ISSUE #508 September 20th, 2020

News

Describing policy (or in fact configuration in general) in machine-readable form quickly gets into a conversation over whether you should prefer data, a general programming language or a DSL. This post does a good job of explaining why.
  • タイトルは「Anatomy of a Rule」。
  • 認可用のオープンソースのポリシーエンジンである「oso」を構築する際に、どのようにシステムが複雑な認可ポリシーを両方の視点(コードとデータ)で効率的かつ自然に処理するかを以下3つのポイントで解説している。
    • Rules as Data
    • Rules as code
    • Rules Redux
An excellent post on moving to alerts based on service-level objectives, SLOs. Covers the why and how, based on documents used internally to make the case for the change.
  • タイトルは「Alerting on SLOs」。
  • 先週のSRE Weekly Issue #235で取り上げているので割愛します。
A discussion of the need to test in production and an introduction to the dark canary pattern for doing so safely.
  • タイトルは「Production testing with dark canaries」。
  • 先週のSRE Weekly Issue #235で取り上げているので割愛します。
A look at a tool-agnostic architectural framework for building resilient systems, focused around predictability, observability, recoverability and keeping things simple.
  • タイトルは「PORK: A Technology Resilience Framework」。
  • 貴重なエンジニアリングの時間を、事前にシステムを防弾化するような無駄使いすべきではない理由を説明し、その代わりに、クライアントに影響が及ぶ前に迅速に回復することで、一定の変化率と不確実性を吸収するシステムを設計するように説いている記事。
  • PORKは以下の4つの原則の頭文字を取った回復性(resiliency)フレームワーク。
    • Predictability
    • Observability
    • Recoverability
    • Keep it simple
A look at a range of Kubernetes local clients/dashboards including Octant, Kubenav, Lens and more.
  • タイトルは「KUBERNETES CLIENTS AND DASHBOARDS: A COMPARISON」。
  • 開発者がKubernetesクラスター調査用に、kubectlの代替または追加ツールとして利用できる一般的なツールを簡単に比較、解説している記事。
  • この記事で紹介している下記のツールはローカルにインストールでき、クラスターにコンポーネントをインストールする必要無し。一つずつ試して見たい。
Even with all the talk of cloud native, it’s still super useful for lots of roles to have a solid grounding in UNIX programming. This Advanced Programming in the UNIX Environment course is not available completely online.
  • プログラミングコース「Advanced Programming in the UNIX Environment」のページ。
  • Unix OS(およびLinux、BSD、さらにはMac OSなど、このファミリーに属する​​すべてのOS)をよく理解しながら、Cプログラミング言語で複雑なシステムレベルのソフトウェアを開発する方法と、そのプログラミング環境を学ぶオンラインのコース。
  • Youtube動画はこちら。
Have you ever wanted to write Python inside your SQL queries? Well now you can with Postgres using PL/Python. These post act as an introduction and show off some interesting demos with embedded numpy.
  • タイトルは「Getting Started with Postgres Functions in PL/Python(上記リンク)」「Exploring PL/Python: Turn Postgres Table Data Into a NumPy Array」。
  • 1つ目の記事ではPL/Pythonを使用してPostgres関数を作成する方法を簡単に説明している。
  • 2つ目の記事では、NumPyを、PL / Pythonデータベースアクセス関数を利用する簡単なユーザー定義関数で実行している。この関数は、PostgresのデータテーブルをNumPy配列に簡単に変換する方法の実例を示すもの。
An introduction to Open Policy Agent Gatekeeper, specifically looking at addressing issues with the built-in pod security policies feature in Kubernetes.
  • タイトルは「Using Gatekeeper as a drop-in Pod Security Policy replacement in Amazon EKS」。
  • Amazon EKSを含むKubernetesクラスター内で許可されるものを予防的に制御するための標準的な方法として「Gatekeeper」を解説しているAWS社の記事。
GitHub Actions is still relatively new, but there is already a huge amount of content available for it. This post looks at various actions for analyzing code for security problems.
  • タイトルは「GitHub Actions for Security Code Analysis」。
  • 筆者がセキュリティーに重点を置いたコード分析に利用している、お気に入りのGitHub Actionsの機能をいくつか取り上げている。
  • GitHubでのお気に入りの解説に入る前に、筆者が公開したコード分析とセキュリティーに関連する最近のブログ投稿を列挙している。参考となるリンクがしっかり貼られていて、簡潔にまとまっていて良記事。

Tools

Terratag is a new CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
  • Terraformファイルのセット全体にタグまたはラベルを適用できるようにするOSSのCLIツール「Terratag」のGitHubページ。
  • タグ、ラベルをAWS、GCP、Azureリソースに適用する。

SRE Weekly Issue #236 September 20th, 2020

Articles

My first outage

A nice juicy post-incident report from the archives. Remember the first time you took down production?

Mads Hartmann — Glitch

  • 筆者がglitch.com社の本番環境で初めて自身の手で障害を発生させた際のふりかえり記事。
  • glitch.comでは社内の読書クラブでSRE本を読見進めており、理論を実践する大きな機会だった。文字のみではあるが、ポストモーテムがSRE本の形式に沿って書かれている。

While testing a new power transmission link, it was accidentally overloaded by a factor of ~14x, with far-reaching but ultimately well-managed effects.

Thanks to Jesper Lundkvist for this one.

  • NordLinkプロジェクトのテスト運転中に起きた障害に関する記事。
  • NordLinkプロジェクトは、ノルウェーとドイツ間で電気の融通を行うもの。来年より通常業務が開始される予定。
Throughput autoscaling: Dynamic sizing for Facebook.com

As Facebook moved from a static to an auto-scaled web pool, they had to try to predict their expected demand as accurately as possible.

Daniel Boeve, Kiryong Ha, and Anca Agape — Facebook

  • Facebookとやり取りするたびに当社のサービスを使用する人々からのHTTPリクエストを処理する主要なサービスの1つ「Web Tier」によるスループットのオートスケーリングを解説しているFacebook社の記事。
  • web tierは世界中の複数のデータセンターに分散された大規模なグローバルサービス。
  • Systems@Scale 2020のプレゼン動画が埋め込まれている。この記事を読んでからプレゼン動画を見ると良さそう。動画は最初の20分ほどはプレゼン形式で、後半はディスカッション形式。
Database migrations lessons learned

The key lesson involves ensuring that your migrations avoid using parts of the production code, which could cause their action to change down the line inadvertently.

Frank Lin — Octopus Deploy

  • データベースの移行について紹介し、いくつかの共通のフレームワークと10年近くの経験から学んだ以下5つの教訓を共有している。
    1. Keep your migration scripts away from your production code
    2. Keep it low-tech, don’t deserialize
    3. Write tests to exercise each migration script individually
    4. Consider running long migrations online
    5. Consider versioning your documents
Moobot vs. Gatebot: Cloudflare Automatically Blocks Botnet DDoS Attack Topping At 654 Gbps

Cloudflare uses an interesting multi-layered approach to mitigating attacks.

Omer Yoachimik — Cloudflare

  • 7月3日に発生したDDoS攻撃を、CloudflareのグローバルDDoS保護システムであるGatebotが自動検出して緩和したことを解説している。
  • UDPベースのDDoS攻撃でピーク時には654Gbpsに達した。このDDoS攻撃はMiraiベースのbotnetである「Moobot」によって生成されたと考えられている。私はbotnetやIoT機器に関するアイデアが無かったので、とても参考になった。
Availability, Maintainability, Reliability: What’s the Difference?

The availability/reliability distinction in this article is thought-provoking.

Emily Arnott — Blameless

  • 「信頼性とはどういう意味か?」この質問に答えるために、SREの他の指標である「可用性」と「保守性」の観点から「信頼性」を以下の観点で分類している。
    • Distinguishing these terms isn’t a matter of semantics. Understanding the differences can help you better prioritize development efforts towards customer happiness.
Troubled Times: Episode 3

2020 has shown the value of adaptive capacity. 2021 will show whether or not adaptive capacity can be sustained.

This article (not a video or podcast despite the name) also focuses on the increasing importance of learning from incidents.

Dr. Richard Cook — Adaptice Capacity Labs

  • 今の状況に関連する以下4つの危機を挙げ、4つの間の相互作用、社会の回復性に着目しながら解説している。
    1. Covid-19 pandemic
    2. Economic slowdown
    3. Social disintegration
    4. Climate change
Building and revising adaptive capacity sharing for technical incident response: A case of resilience engineering

What is resilience engineering? What does a resilience engineer do? Are there principles of resilience engineering? If so, what are they? What makes it possible to engineer resilience?

This academic paper uses a case study to show how a company engineered the resilience of their system in response to a series of incidents.

Richard I. Cook and Beth Adele Long — Applied Ergonomics

  • レジリエンスエンジニアリングの特定のケースで観察されたいくつかの候補となる機能と条件について説明している。こうした論文を読むと「エンジニアとして、このように専門領域やテーマを明確化して深掘りしていきたい」と考える。

Outages

  • Google Drive
    This is a post-analysis for two outages, one from this past week and the other from the week before.
  • Instagram
  • Facebook
  • Discord
  • Fastly
  • Gandi

    Postmortem regarding the Network Incident from September 15, 2020 on IAAS and PAAS FR-SD3, FR-SD5, and FR-SD6

    A layer 2 network loop was accidentally introduced, on two separate occasions.

    Sébastien Dupas — Gandi

  • Azure
    This was an outage on Sept. 14 in the UK South region. A cooling system was shut off in error during a maintenance procedure.

上記各社の障害情報

KubeWeekly #234 September 25th

The Headlines

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

KubeCon + CloudNativeCon Europe 2020 – Virtual Conference Transparency Report: A very successful first virtual event!

CNCF staff

The shift to a virtual KubeCon + CloudNativeCon EU wasn’t easy or even expected, but the community came together to share knowledge, learn about new projects, and play drag queen bingo. The KubeCon + CloudNativeCon transparency reports provide insight into event attendance, diversity and inclusion, and drills into the talk section process for the events, which is run by the event co-chairs and their program selection committee.

YAML Templating Solutions: Helm & Kustomize

Dex

Writing config files by hand is like coding with Notepad instead of an IDE. There are ways to automate most of it, and this usually starts with either Helm or Kustomize. This article presents a 101-level overview of both, and helps in choosing which one’s the better fit for your use case.

  • YouTubeの解説動画が埋め込まれており、文字起こしされている。
  • 冒頭のジョークで笑ってしまった。
    • The modern term Kubernetes engineer derives from an ancient Greek idiom that translates roughly to... YAML craftsperson. Sorry, bad joke.

ICYMI: CNCF Webinars

You can view all CNCF recorded and upcoming webinars here.

CNCF Member webinar: Critical DevSecOps considerations for multi-cloud Kubernetes

Sylvain Huguet, Sr. Product Manager – Karbon/Kubernetes @Nutanix & Loris Digioanni, CTO & Founder @Sysdig

  • インフラとセキュリティーの2人のクラウドネイティブエキスパートから、次の点に関する貴重な洞察を得られる。
    • How containerized applications use compute, storage, and network resources differently than do legacy applications
    • Why hyper-converged infrastructure is suited for Kubernetes
    • How a Kubernetes stack should be instrumented for observability
    • Best practices for implementing system-wide security for multi-cloud Kubernetes
CNCF Member webinar: Mitigating Kubernetes attacks

Wei Lien Dang, Head of Strategy @StackRox

  • クラウド、オンプレミス、ハイブリッドKubernetesの導入を保護するための推奨事項を以下のポイントで解説している。
    • Key tactics and techniques you can expect attackers will use on Kubernetes clusters
    • The range of Kubernetes-specific and cloud-specific controls to apply
    • A prioritized list of mitigation steps you should apply to give you the broadest protection
  • StackRox社は文書化された40の攻撃ベクトルのそれぞれを調査し、Kubernetes環境を保護するために適用できる一連の詳細な緩和手順を作成している。
CNCF Member webinar: Using KubeVirt in telcos

Abhinivesh Jain, Distinguished Member of Technical Staff @Wipro

  • 通信事業者に対するKubeVirtの関連性について、採用の観点から現在の制限と課題を中心に解説している。
  • Windows VMのホスティングでKubeVirtを使用する手順の解説あり。
CNCF Member webinar: AWS controllers for Kubernetes – AWS services, now kubified!

Jay Pipes, Principal Open Source Engineer @Amazon Web Services

  • ACK(AWS Controllers for Kubernetes)のデザインと使用方法を解AWSの作成者の一人が解説している動画。
  • Kubernetes APIを使用して、Kubernetesオブジェクトだけでなく、アプリが存在するリソースもKubernetesマニフェストに書ける。タイトル通り「AWSのサービスをKubernetes化する」。
    • No CloudFormation behind the scenes
    • Not EKS specific, runs on any Kubernetes

The Technical

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

Ingress for Anthos — Multi-cluster ingress and global service load balancing

Gokul Chandra

  • AnthosGKEクラスター用のGoogleクラウドホスト型マルチクラスターイングレスコントローラー「Ingress for Anthos」を解説している記事。この筆者はとても丁寧に読者が理解し、自身でハンズオンできる様に読者目線で解説、図示しているのが凄い。
Installing Kubernetes Metrics Server securely

Neil Wilson, Brightbox

  • Kubernetes Metrics Serverをセキュアにインストールするいくつかの方法とポイントを解説している。
  • Kubernetes Metrics Serverは、Kubernetes内で実行して、CPUやRAMの使用量などのコンテナリソースの指標を提供するサービス。
How we moved to Github-based Kubernetes config management

Benjamin Yolken, Segment

  • Segment.io社がKubernetes構成のgitベースの管理のための軽量ツールkubeapplyのリリースに合わせてGithubベースのKubernetesコンフィグ管理に経緯を紹介している記事。
  • kubeapplyは、生のYAML、テンプレート化されたYAML、Helmチャート、skycfgでの構成をサポートし、構成の拡張、検証、差分生成、適用を含む完全な変更ワークフローを容易にする。
GSoC 2020 – Building operators for cluster addons

Somtochi Onyekwere

  • 筆者がGoogle Summer of Codeに参加し、Kubernetesのcluster addonsにコントリビュートした話。
  • 私も、学生のこうしたポジティブな挑戦と成果を手放しに喜べる様に年齢を重ねてきた、助けられてきたのだな...とも思った。(学生時代は政治経済学部で、国際法メインだったので、全く畑違いですが)
Detecting CVE-2020-14386 with Falco and mitigating potential container escapes

Kaizhe Huang, Sysdig

  • 2020/09/04にseverity「high」として報告されたCVE-2020-14386の内容と、Falco、Sysdig Secureでの検知方法を中心に解説している。
Containing a real vulnerability

Fabricio Voznika, gVisor

  • 上記の脆弱性(CVE-2020-14386)の発表を受け、gVisorはこの特定の問題に対して脆弱はないが、gVisorのセキュリティーの調査を継続するための興味深いケーススタディを提供している。
  • また、gVisorは脆弱性の影響を受けないが、影響を最小限に抑え、脆弱性が見つかった場合は修正するためのいくつかの手順を解説している。
Yes, you can run VMs on Kubernetes with KubeVirt

Bryant Son, Red Hat correspondent

  • ローカルで実行可能なオープンソースのKubernetesプラットフォーム「Minikube」を介してKubeVirtを使用する方法を解説している。
  • KubeVirtの使用例、Minikubeのインストール方法、およびチュートリアルの残りの部分を説明する動画が埋め込まれている。

The Editorial

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

Grafana, with Torkel Ödegaard

Craig Box and Adam Glick, Kubernetes Podcast from Google

CommunityBridge Spotlight: Get the most out of the CommunityBridge program

Sonia Singla

  • LinuxFoundationのThanosコミュニティとの「CommunityBridgeプログラム」を卒業した筆者による、インターンシップを最大限に活用するために、経験と将来のCommunityBridgeインターンへの提案を、絵文字をふんだんに使って記している。
Cloud native ecosystem feels COVID-19 crunch

Dan Meyer, SDxCentral

  • 進行中のCOVID-19パンデミックが、外部の影響を受けないように見える孤立した環境と見なされる傾向のあるソフトウェア開発者やクラウドネイティブコミュニティも影響が及んでいることを、「Kubernetes1.19のリリースが8月末に延期されたこと」「Kelsey Hightower氏の使用した用語 forcing function」などの例を挙げながら解説している。
DevOps 049: DevOps, Open Source, and OpenShift with Chris Short

Adventure in DevOps Podcast

  • Devchat.tvのDevOpsをテーマにしたPodcast。
  • KubeWeeklyのEditorであるChris Short氏をゲストに迎え、OpenShiftと、過去数か月にわたってオーケストレーションを行ってきた新しいOpenShift.tvストリーミングメディアチャネルについて説明している。
Ask the Product Manager Office Hours: Top 5 problems with Kubernetes and how we are fixing them

Mike Barrett and Chris Short, Red Hat

  • Red Hat社のOpenShiftチームのYouTube動画。KubeWeeklyのEditorであるChris Short氏とMike Barrett氏(Senior Director of Product Management)がタイトルの内容について語っている。冒頭のMike氏のキャリアパスの話も興味深かった。
Air Force to demo updating software on a jet in flight, official says

Mila Jasper, Nextgov

  • Government Executive Media Group社のNextgovの記事。
  • アメリカ空軍のジェット機が飛行中にソフトウェアをアップデートするショーケースを数週間以内に実施するとのこと(9/15時点)。

Upcoming CNCF webinars

気になるWebinarがあれば登録してチェックを。以下は直近のものとしてリストされていたものです。

Member Webinar: VanillaStack as a platform for a truly vendor-agnostic open-source ecosystem
Karsten Samaschke, CEO @Cloudical
Sept 29, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Effective disaster recovery strategies for Kubernetes Rasheed Amir, CEO @Stakater AB
Sept 30, 2020 7:00 AM Pacific Time**
REGISTER NOW »

Member Webinar: Self service Kubernetes for enterprises
Jim Bugwadia, Founder and CEO @Nirmata
Sept 30, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Dapr, Lego for microservices
Mark Chmarny, Principal Program Manager @Microsoft
Oct 1, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Transactional microservices – The final frontier
Daniel Kozlowski, Minister of Engineering @PlanetScale
Oct 2, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Multi-Cluster & multi-cloud service mesh with CNCF’s Kuma and Envoy
Marco Palladino, CTO & Co-Founder @Kong
Oct 6, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: The evolution of cloud orchestration systems from ephemeral to persistent storage
Boyan Krosnov, CPO @StorPool
Oct 7, 2020 8:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Kubernetes native two-level resource management for AI/ML workloads
Diana Arroyo Software Engineer @IBM Research
Alaa Youssef, Manager, Container Cloud Platform @IBM Research
Oct 7, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Building dynamic machine learning pipelines with KubeDirector
Tom Phelan, Fellow, Software Organization @Hewlett Packard Enterprise
Oct 8, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: ephemeral.run: A full application environment for every PR–before you merge to master!
Vishal Biyani, CTO @InfraCloud
Jono Spiro, Staff Software Engineer, Engineering Operations @OpenGov
Oct 14, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: S&P experience report: multi-cloud serverless on Knative
Evan Anderson, Software Engineer @VMware
Mark Wang, Head of Cloud Engineering @S&P Global Ratings
Oct 15, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: How to migrate NF or VNF to CNF without vendor lock-in
Grzegorz Sikora, VP Business Development @OVOO
Oct 20, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Deploying Kubernetes to bare metal using cluster API
Seán McCord, Principal Senior Software Engineer @Talos Systems, Inc.
Oct 21, 2020 1:00 PM Pacific Time
REGISTER NOW »

Member Webinar: K8s audit logging deep dive
Randy Abernethy, Managing Partner @RX-M
Oct 22, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Building 12 factor streaming data apps on Kubernetes
Stelios Charmpalis, Frontend Engineer @Lenses.io
Francisco Perez, Senior Backend Engineer @Lenses.io
Oct 23, 2020 10:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Developer-friendly platforms with Kubernetes and infrastructure as code
Lee Briggs, Staff Software Engineer @Pulumi
Nov 6, 2020 10:00 AM Pacific Time
REGISTER NOW »

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

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

では、また。

Bye now!!

Yoshiki Fujiwara