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

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

SRE / DevOps / Kubernetes Weekly Reportまとめ#36(10/4~10/9)

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

  • 誰かの情報源や検索工数削減などになれば幸いです。
DEVOPS WEEKLY ISSUE #510 October 4th, 2020
SRE Weekly Issue #238 October 4th, 2020
KubeWeekly #236 October 9th, 20209

English Version of this blog is here.

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

DEVOPS WEEKLY ISSUE #510 October 4th, 2020

News

Open source has led to companies sharing undifferentiated code, but work on processes and policies is rarely done in the open. Given lots of companies are subject to the same compliance regimes, this is definitely wasteful. So I’m super interested to see this set of HIPAA policies.
  • Datatica社のHIPAA(Health Insurance Portability and Accountability Act)準拠のポリシーのオープンソース版「Datica HIPAA Compliance Policies」のWebページ。編集者に同意で、こうしたポリシーが共有されていることは素晴らしいと思う。
  • GitHubページはこちら
This post looks at how to embrace devops at the same time as maintain least privilege controls in cloud environments.
  • タイトルは「The Three Ways of DevOps」。
  • パイプラインにバルクや遅延を加えることなく、DevOps環境内で最小権限のセキュリティーの概念をクラウドインスタンスに適用する方法を説明している。DevOpsについては下記3つのポイントを解説している。
    • The first way of DevOps is to emphasize the speed and efficiency of the entire system, instead of just your part.
    • The second way of DevOps is fast feedback.
    • The third way of DevOps is continuous learning.
A look at the concept of emergence in system design and management and how emergent behaviour can be both positive and negative.
  • タイトルは「Complex Adaptive Systems (ii): thinking about emergence and ITSM」。
  • ITサービス管理への影響についての理解を深めるという文脈で、そのようなシステムの1つの特定の特性の「emergence」に焦点を当てている。
  • emergenceは特定の特性が発現(もしくは創発?)することを表現している。イメージはできたが、得意としない言い回しや表現が多くスムーズに読めなかった。おそらく私固有の問題だと思う、この事情により詳細は割愛する。
A post on why moving from a monolithic to microservices architecture is time consuming, due to assumptions and coupling that need to be broken down.
  • タイトルは「Monolith -> Services: Theory & Practice」。
  • 「モノリスからマイクロサービスにすばやく移行するにはどうすればよいか?」という問いに対して、「素早くはウィンドウ外。1ヶ月以内にはできないだろう」「現在得られておらず、マイクロサービスに期待しているメリットは何か?」と投げ掛け、質問に対する真正面の回答を拒否しつつ、以下のポイントを中心に解説している。
    • Managing Coupling
    • Not Quickly
    • Good News
A look at building a service registry from jsonnet files in a Git repository. Interesting ideas about the benefits of standard service descriptions and building tools on top of that to make managing infrastructure and applications easier.
  • タイトルは「Why you need a service registry」。
  • GoCardless社でレジストリを構築した方法と、その中で見つけたいくつかのユースケースについて説明している。
  • 「Jsonnet、SRE Workbookなどで見覚えあるな」と思ったらGCPのヘビーユーザーでした。
Scaling managing permissions is hard. This post looks at one proposed approach, using attribute based access control, and some its problems.
  • タイトルは「Security September: Still Early Days for ABAC」。
  • 明示的なdenyがあっても、許可なくS3バケットにタグを付けることができるexploitと、これが属性ベースのアクセス制御(ABAC)にとって何を意味するかを解説している。以下2点が筆者の言いたきことかな。
    • I strongly believe that at this point tags are a tool for auditing, billing and automation - not for access control.
    • With the amount of services utilizing tags for their own purposes and subsequently tagging permissions being seen as a low risk permission, I recommend cloud security practitioners stick to traditional resource-based access control.
Balancing defaults between getting started quickly and scaling is often tricky. A good post on configuring sidecars to limit the memory consumed by large Istio clusters.
  • タイトルは「Istio at Scale: Sidecar」。
  • 以下の動作が、メッシュにほんの一握りのサービスしかない場合は問題無いが、メッシュが成長し始めると、リソース(CPU、ネットワーク I/O、メモリー)の消費、変更の伝搬に時間がかかる様になる点を最初に解説している。
    • By default; all proxies on your mesh will receive all the config required in order to reach any other proxy.
    • It's important to note that by "Config" - that isn't just what you put in your DestinationRule or VirtualService, but also the state of all of the Endpoints for your services too, therefore whenever you do a Deployment, or a Pod becomes unready, or your service scales, or anything else that changes state - config is pushed to all the proxies.
  • 上記問題の対処方法として、以下の3つ、Istioが提供しているSidecarリソースなどを解説している。
    • Configuring the Sidecar
    • Monitoring Pilot
    • Detecting Misconfiguration
A walkthrough of configuring a high-availability Kubernetes cluster on Azure using Terraform, looking at the various services needed for a production setup, like Calico and Active Directory.
  • タイトルは「Use Terraform to Create and Manage a HA AKS Kubernetes Cluster in Azure」。
  • 先週のKubeWeekly#235で取り上げているので割愛します。

Tools

Couler provides a DSL for creating and managing workflows on different workflow engines, including Argo Workflows, Tekton Pipelines, and Apache Airflow.
Pinot is a real-time distributed OLAP datastore, built to deliver scalable real-time analytics with low latency. It can ingest from batch data sources (such as Hadoop HDFS, Amazon S3, Azure ADLS, Google Cloud Storage) as well as stream data sources (such as Apache Kafka).
  • 低遅延でスケーラブルなリアルタイム分析を提供する、リアルタイムの分散型OLAPデータストア「Apache Pinot」のioページ。
  • GitHubページはこちら

SRE Weekly Issue #238 October 4th, 2020

Articles

On Call Shouldn’t Suck: A Guide For Managers

Lots of really great advice in here. And really, with a title like that, I couldn’t resist reading it!

Charity Majors

  • オンコールが最悪なものであり、最悪の結果をもたらさない様にマネージャー向けに書かれたブログ。以下が筆者のポイント。

    It is engineering’s responsibility to be on call and own their code. It is management’s responsibility to make sure that on call does not suck. This is a handshake, it goes both ways, and if you do not hold up your end they should quit and leave you.

Follow-up for Google Cloud Infrastructure Components Incident #20010

Last week, I mentioned a Google Cloud Platform outage that affected multiple services. Here’s the detailed post-analysis by Google.

Google

  • 9/24 18:00 ~ 18:33 US/Pacificに発生したGCPの障害のフォローアップ。
  • BACKGROUNDの項目で、Global Service Load Balancer (GSLB) 、Google Front End (GFE)の役割から解説されているので、ご存知の方以外はそこを押さえてから以降の項目を見ることをオススメします(私が理解しているとは言っていない)。
Team Play with a Powerful and Independent Agent: A Full-Mission Simulation Study

This one is along the lines of the classic Ironies of Automation paper by Bainbridge. In this blog post, we’ll look at how SRE can improve NOC functions such as system monitoring, triage and escalation, incident response procedure, and ticketing.How can automation be a team player, and what happens when it isn’t?

Nadine Sarter and David Woods (original paper)
Thai Wood — Resilience Roundup (summary)

  • ホワイトペーパーを解説している記事。このホワイトペーパーではA320航空機に焦点を当てているが、著者は、これがこの1機の航空機、一般的な航空機の問題ではなく、「自動化がチームプレーヤーとして機能しない場合に発生する可能性のある問題」だと解説している。
  • 著者によると、自動化は人間が何をしているかを追跡し、将来何をするかを予測できるように機能する場合に、より「チームプレーヤー」として機能する。この測定値、つまり特定のテクノロジーがどれだけのチームプレーヤーであるかが、それがどれほど効果的で成功しているかを予測するのに役立つことを示唆している。逆に、自動化がチームプレーヤーでない場合、自動化は不器用で混乱を招く可能性があるとしている。
Applying Chaos Engineering in Healthcare: Getting Started with Sensitive Workloads

In this blog post, we’ll look at how SRE can improve NOC functions such as system monitoring, triage and escalation, incident response procedure, and ticketing.How can you use chaos engineering when failures in the system can be critical and even life-threatening?

Carl Chesser — Infoq

  • カオスエンジニアリングは、近年関心が高まっている分野だが、システムが「クリティカル」または重要すぎて落ちせないと見なされると、しばしばためらいが生じるという課題に対して、事例を紹介している。
    • ヘルスケア情報技術企業であるCerner Corporationのチームが、このプラクティスをシステムに導入するのに効果的であると判断した経緯を共有している。
  • Key Takeawaysは以下。
    • While chaos engineering is a proven technique for improving the resilience of systems, there is often a reluctance amongst stakeholders to introduce the practice when a system is viewed as critical.
    • With critical systems, it can be a good idea to first run experiments in your dev/test type environments to minimize both actual and perceived risk. As you learn new things from these early experiments, you can explain to stakeholders that production is a larger and more complex environment which would further benefit from this practice.
    • Using real production traffic, as opposed to a synthetic workload, can improve the usefulness of the experiments in these early stages.
    • A good chaos engineering practice helps you to improve both the resilience of the system, and its observability when incidents do occur.
This is your Guide for Implementing SRE in NOCs

In this blog post, we’ll look at how SRE can improve NOC functions such as system monitoring, triage and escalation, incident response procedure, and ticketing.

Emily Arnot — Blameless

  • NOC(Network Operation Centers)でSREを実践して機能を高めていく方法を以下4つのポイントで解説している。私も以前はNOC側にいたので、興味深いテーマ。
    • Monitor smarter by focusing on complex metrics
    • Escalate and triage with classification and on-call
    • Get the most from incidents with meaningful response
    • Manage ticketing from a customer-focused perspective
Is your microservice a distributed monolith?

This article suggests using chaos engineering to tell if your microservice-based architecture is secretly a monolith in disguise.

Andre Newman — Gremlin

  • マイクロサービスのアンチパターンである「分散モノリス」とは何か、それを避けるべき理由、そしてカオスエンジニアリングを使用してアプリがこのアンチパターンに該当するかどうかを検証する方法、について説明している。

Outages

上記各社の障害情報

KubeWeekly #236 October 9th

The Headlines

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

Cloud Native Computing Foundation announces Rook graduation

Congratulations to Rook on hitting graduated status! Rook is an open source cloud native storage orchestrator for Kubernetes, providing the platform, framework, and support for a diverse set of storage solutions to natively integrate with cloud native environments. Rook delivers its services via a Kubernetes Operator for each storage provider. Originally accepted into CNCF in 2018, it is the 13th CNCF project — and the first based on block, file, or object storage — to graduate.

  • 「Rook」のCNCFのプロジェクトとして13番目の「Graduation」として認められたことをアナウンスしている。
  • RookはKubernetes用のオープンソースクラウドネイティブストレージオーケストレーター。2018年にCNCFにプロジェクトとして承認されている。

ICYMI: CNCF Webinars

You can view all CNCF recorded and upcoming webinars here.

CNCF Project webinar: Transactional microservices with Vitess – coordination without state

Daniel Kozlowski, Minister of Engineering @PlanetScale

  • Cloud Native Database Vitessを使用して複雑さを増すことなく、モノリシックシステム上のトランザクションとまったく同じように動作する、安全なACID分散トランザクションを作成する方法を示している。
CNCF Member webinar: Multi-cluster & multi-cloud service mesh with CNCF’s Kuma and Envoy

Marco Palladino, CTO & Co-Founder @Kong

  • 複数のリージョンでKubernetesクラスターを起動し、分散サービスメッシュでサービス接続を保護、ルーティング、接続、監視する方法を以下のポイントで解説している。
    • Use Kuma’s multi-zone deployment to spin up a multi-cluster and multi-region service mesh.
    • Leverage the global/remote control separation to scale reliability with HA.
    • Use the built-in service discovery and ingress capability for out of the box service connectivity across multiple zones, clusters and regions.
    • Use Kuma’s policy to determine the behavior of traffic across different clusters, like Traffic Route, mTLS, Traffic Permission and so on
CNCF Member webinar: Kubernetes native two-level resource management for AI/ML workloads

Diana Arroyo Software Engineer @IBM Research and Alaa Youssef, Manager, Container Cloud Platform @IBM Research

  • Kubernetesベースの環境でのAI/MLワークロードのリソース管理について、そしてMulti-Cluster AppDispatcherを使用した2つのレベルでのリソース管理がどのように課題に対処するかを解説している。
CNCF Member webinar: The evolution of cloud orchestration systems from ephemeral to persistent storage

Boyan Krosnov, CPO @StorPool

  • 様々なオーケストレーションシステムが、ストレージ機能を進化させるために、どのようにパブリッククラウド、OpenStack、Kubernetesと非常に類似した道をたどったか、そして永続ストレージがなぜ重要かを解説している。
CNCF Member webinar: Building dynamic machine learning pipelines with KubeDirector

Tom Phelan, Fellow, Software Organization @Hewlett Packard Enterprise, Kartik Mathur, Master Technologist @Hewlett Packard Enterprise and Donald Wake, Technical Marketing Engineer @Hewlett Packard Enterprise

  • 機械学習(ML)パイプラインについて以下のポイントで解説している。MLパイプラインはセットアップが複雑であり、絶えず変化するデータモデルが必要な場合は維持がさらに困難であり、本質的には動的MLパイプラインが必要。
    • Discussing an example ML Pipeline centered around supporting an application that must predict travel times based upon a large data set of taxi ride data.
    • Walking through the development of the full ML pipeline using Kubernetes and another Open Source application called KubeDirector. You will learn how to train, register, and finally, query your model for answers.
    • Learning how a new capability of KubeDirector called “Connections” enables a dynamic, always up-to-date ML model.

The Technical

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

Identity federation for multi-cluster Kubernetes and service mesh

Dennis Jannot, Solo.io

  • マルチクラスターKubernetesとサービスメッシュアーキテクチャの特定の課題領域、それらを解決するための考慮事項とアプローチについて詳しく説明するブログシリーズの記事。
  • 今回はサービス間の認証のために、複数のクラスター間でIDをフェデレーションする方法について説明している。
  • この環境に必要な認証は2種類あり、今回は「サービス間の認証」に焦点を当てている。もう一つのエンドユーザー認証についてはこちらから
Call an existing REST service with Apache Camel K

Mary Cochran, Red Hat

  • 既存のRESTサービスを呼び出し、既存のデータ形式を使用するCamel K integrationを作成する方法を紹介している。
An architect’s guide to APIs: REST, GraphQL, and gRPC

Bob Reselman, Code District

  • データ交換の歴史と、REST、GraphQL、およびgRPCAPIの相互比較について説明している。
Self-hosted Github Actions runners in Kubernetes

Vito Botta, Dynablogger

  • タイトル通り、Self-hosted Github Actions runnersをKubernetes上で、簡単な公式イメージのDocker in Dockerを使って解説している。
Kubernetes integration and more in odo 2.0

Serena Chechile Nichols and Steve Speicher, Red Hat

  • OpenShiftおよびKubernetes用の開発者向けCLI「Odo」のv2.0リリースのハイライトを紹介している。
Provisioning Kubernetes clusters on AWS with Terraform and EKS

Kristijan Mitevski, LiveDOOH

  • 内容はタイトルと下記TL;DRの通り。Learnk8sらしい丁寧な解説で試してみたくなる。ブックマークしました。
    • TL;DR: In this guide, you will learn how to create clusters on the AWS Elastic Kubernetes Service (EKS) with eksctl and Terraform. By the end of the tutorial, you will automate creating three clusters (dev, staging, prod) complete with the ALB Ingress Controller in a single click.
Running Kubeflow Pipelines

Saiyam Pathak, Civo

  • スタンドアロンのKubeflowパイプラインを、Civoマネージドk3sクラスターにインストールする方法について解説している。今週は一段とMLパイプラインに関する記事が多い印象。
How to perform a CNI live migration from Flannel+Calico to Cilium

Josh Van Leeuwen, Sky Betting and Gaming

  • CNIを変更する理由、ライブマイグレーションのソリューションの開発について筆者が学んだこと、およびすべてがどのように機能するかについて解説している。
  • 「どこかで見た事ある内容、図だな」と思ったら、この筆者が書いた以前の記事を、先月のブログで先月チェック済みでした。
How to set up PostgreSQL monitoring in Kubernetes

Jonathan S. Katz

  • 今回の内容はタイトルの通り。今後、PostgreSQLオペレーター監視スタックに付属するいくつかの視覚化を解釈する方法に関する記事を出していく模様。
storax/kubedoom: The next level of chaos engineering is here! Kill pods inside your Kubernetes cluster by shooting them in Doom!
  • Kubernetesクラスター内のPodをゲーム「DOOM」の画面上で射撃してkillするツール?「Kube DOOM」のGitHubページ。
  • 「本当に3Dでやるの?」と思ったら、YouTube動画でプレイしている人がいた。。。
What’s new in Goldilocks 3.0.0

Andy Suderman, Fairwinds

  • Kubernetesデプロイメントにリソースリクエストと制限を設定するための推奨事項を確認できるツール「Goldilocks」の v3.0.0の変更点とそこに至った経緯を解説している。

The Editorial

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

Kubecost, with Webb Brown

Adam Glick and Craig Box, Kubernetes Podcast from Google

Helm Hub is moving to Artifact Hub

Matt Farina, Rancher Labs and Helm

  • 「Helm Hub」の「Artifact Hub」への移行のニュース。
  • 移行の理由は、「Helm Hubは限られた数のHelmリポジトリを処理するために構築され、可能な限り多くのチャートリポジトリの公開リストとは少し異なるユースケース向けに設計た。Helmチャートとリポジトリの数が増えるにつれて、いくつかの制限が出てきたため」。
Introducing DigitalOcean App Platform

Apurva Joshi, DigitalOcean

  • DigitalOcean社の新たなPaasプラットフォーム「DigitalOcean AppPlatform」の紹介記事。アプリのデプロイまでの手順の解説動画も埋め込まれている。
  • 既にこちらを試されている記事が日本語で出している方がいますので、併せて参考になると思います。「DigitalOcean App Platformを試してみる
What’s New in OpenShift 4.6

Red Hat OpenShift Product Management Team

  • OpenShift 4.6の変更点をRed Hat社のOpenShift Product Management Teamの担当者が、リレー方式で2時間近くに渡って詳細に解説しているYouTube動画。
Call for questions! sig-HONK AMA KubeCon NA keynote panel

Ian Coldwater, Salesforce

Carbon-aware Kubernetes

Bill Johnson, Microsoft

  • Kubernetes Schedulerを拡張して、既存の電力網の炭素強度の自然変動を利用して、Kubernetesクラスターが担当する大気中の炭素量を最小限に抑える方法の例を紹介している。タイトルを二度見するぐらいにテーマにビックリしました。
Service meshes, Envoy, and WebAssembly with Christian Posta

Christian Posta, solo.io and Chris Short, Red Hat

  • solo.io社のGlobal Field CTO、元Red Hat社のChief ArchitectであるChristian Posta氏をゲストに迎え、テーマに関する様々な質問「サービスメッシュはなぜこんなに色々なプロダクトがあるのか?」「みんなEnvoyをデータプレーンに使っているのはなぜか?」などに答えている。
Open Service Mesh (OSM) is hosting first community call on Oct 13

OSM Community

  • 軽量で拡張可能なクラウドネイティブサービスメッシュであるOSM(Open Service Mesh)のGitHubページ。
  • OSMプロジェクトは、Linkerd、Istio、Consul、Envoy、Kuma、Helm、SMI仕様など、多くのクラウドネイティブエコシステムプロジェクトのアイデアと実装に基づいている。

Upcoming CNCF webinars

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

Member Webinar: You can be a Kubernetes contributor too!
Jeremy L. Morris, Software Engineer @DigitalOcean
Oct 13, 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: GitOps at scale for a multicloud, multi-region stateful application
Rick Spencer, Head of Platform @InfluxData
Oct 14, 2020 1:00 PM Pacific Time
REGISTER NOW »

Member Webinar: S&P experience report: multicloud 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: Delivering cloud native apps to Kubernetes using werf
Dmitry Stolyarov CTO, @Flant
Oct 16, 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: Admission controllers: one part of your Kubernetes security and governance toolkit
Gunjan Patelm, Cloud Architect @Palo Alto Networks
Robert Haynes, Cloud Security Evangelist @Palo Alto Networks
Oct 28, 2020 7:00 AM Pacific Time
REGISTER NOW »

Member Webinar: Security in the world of service meshes
John A. Joyce, Principal Engineer @Cisco
Nov 4, 2020 1:00 PM 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 »

Member Webinar: Metal³: Kubernetes-native bare metal host management
Maël Kimmerlin, Senior Software Engineer @Ericsson Software Technology
Dec 10, 2020 10:00 AM Pacific Time
REGISTER NOW »

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

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

では、また。

Bye now!!

Yoshiki Fujiwara