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

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

SRE / DevOps / Kubernetes Weekly Reportまとめ#7(3/15~3/20)

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

  • 誰かの情報源や検索工数削減などになれば幸いです。
DEVOPS WEEKLY ISSUE #481 March 15th, 2020
SRE Weekly Issue #211 March 16th, 2020
KubeWeekly #208: March 20th, 2020

English Version of this blow is here.

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

DEVOPS WEEKLY ISSUE #481 March 15th, 2020

News

A post (fair warning, from one of my colleagues) on the ongoing evolution of application security as cloud adoption shifts more responsibilities towards developers.
  • タイトルは「How cloud transforms IT security into AppSec」。

  • 「クラウドがインフラをアプリの一部にした」という視点に基づいて、この変化がセキュリティーのプラクティスに与えたとして、「クラウド以前」と「クラウド以後」を解説している。

Some interesting data points from a recent survey on Serverless adoption. Everything from concerns and benefits to adoption and tooling.
  • タイトルは「O’Reilly serverless survey 2019: Concerns, what works, and what to expect」。

  • 2019の年11月の記事。オライリー社が「サーバーレスの採用」に関する調査を初めて行い、1,500以上の広範なレンジ(所在地、会社、産業)の回答者からのハイレベルの回答を得ている。こういった前提、対象、目的がハッキリとした調査と結果は面白いし参考になる。

A nice example of building a deployment workflow for network code, in this case with Calico. Lots of demos, including using Conftest and GitHub Actions to verify network policies and ArgoCD to deploy it.
  • タイトルは「Decentralized Calico Network Security Policy Deployment for GitOps – Part 2」。

  • Tigera社のGitOpsに関するブログシリーズのPart 2。Part 1「Enforcing Network Security Policies with GitOps」はこちら。3部作で最後のPart 3は3/20(金)時点ではまだ出ていないようです。

  • 最初にスコープ(分散ポリシーワークフローを有効にする方法)を定義し、GitOpsを使用してKubernetesでネットワークセキュリティポリシーを適用することに関連する課題(ポリシー作成の複雑さ、ガバナンスチェック)を定義することから始め、例としてエンドツーエンドのポリシーワークフローを作成している。

A discussion of where the CNAB (Cloud Native Application Bundles) packaging format fits in, and how it bridges technologies to enable a more PaaS-like experience for users.
A post on the evolution of interfaces in open source infrastructure, looking mainly at Kubernetes the work done on CNI, CRI, CSI and SMI.
  • タイトルは「Interoperability of open-source tools: the emergence of interfaces」。

  • Kubernetesの開発において「OSSの相互運用性が拡張性とイノベーションを支えている」という観点からインターフェースとしてContainer Runtime Interface (CRI)、 Container Network Interface (CNI) 、Container Storage Interface (CSI) 、Service Mesh Interface (SMI)、ClusterAPIのそれぞれの登場した経緯と特徴を解説している。

The Bazel build-tool has a high barrier to entry. This post is a good starting point if you’re building Go applications and outputting to container images.
  • タイトルは「BUILDING GO APPLICATIONS WITH BAZEL」。

  • 「依存性の管理とバイナリーの構築が、おそらくソフトウェア開発の中で最もイライラが溜まり、最も満たされない部分であり、これらのフラストレーションは、アプリケーションが成長するにつれて悪化する」という事を認めようという投げかけから始まる、2018年5月の記事。

  • この複雑性を解決する為に様々なツールが開発され、オープンソース化されている事に触れ、Googleの内部で使われているblaze buildツール、そこから派生したツールとしてFacebookのbuck、Foursquareのpantsに言及し、今回のメインであるbazelがもたらすものと、Go言語での設定、アプリの作成・テストなどを紹介している。

A look at CIlium Cluster Mesh, including a deep-dive into eBPF and CNI networking stacks.
  • タイトルは「Kubernetes Multi-Cluster Networking -Cilium Cluster Mesh」。

  • 「ダイナミックに変化し、とても複雑なマイクロサービスのエコシステムでは、管理とスケールの観点から伝統的なIPアドレスとポートでの管理は問題を引き起こしがちである」として、Cilium、BPF(Berkeley Packet Filter)、YugabyteDBを紹介。

  • イメージ図はもちろん、ハンズオンする際の表示内容まで丁寧に解説されているので、良さそう。

Tools

Monitoror is a wallboard monitoring app to monitor server status; monitor CI builds progress or even display critical values.
  • サーバーのステータスを監視し、1スクリーンで可視化するツール「Monitoror」のWebページ。画面表示が見れるライブデモもあり。

  • GitHubページはこちら

SRE Weekly Issue #211 March 16th, 2020

Articles

SREcon20 Asia/Pacific

SRECon20 Asia/Pacific is rescheduled to September 7–9, 2020.

  • オーストラリアのシドニーで開催予定のSRECon20 Asia/Pacificのリスケ案内。

  • 全プログラムの発表と登録は5月に開始予定。

Business continuity at Slack: Keeping our customers up and running during COVID-19

This article has a definite marketing slant. It’s nonetheless interesting to see how Slack is handling the situation.
Cal Henderson and Robby Kwok, Slack

  • Slack社のCOVID-19(新型コロナウイルス感染症)のBCP(事業継続計画)に関する発表。

  • 複数言語に対応しており、日本語はこちらから。

  • BCPとパンデミック計画を持って事業を継続している、全社員がリモートワークに移行しても業務に支障は無く、容量や負荷が増大しても十分対応出来るので、心配無用との事。

Journey into Observability: Glitch’s journey

I love this gem:

I’m not surprised companies that are far into their observability journey start advocating for testing in production – once you have the data and you can slice & dice it as you see fit, testing in production seems like a totally reasonable thing to do.

Mads Hartmann

  • この記事では、Glitch社がなぜ可観測性を確保するツールに投資を始​​めたのか、現在の状況といかにそこに到達したか、最後にまだ課題として残っているものに焦点を当ている。
Lessons in Distributed Communication From Incident Response

With many companies suddenly shifting into figuring out how to become distributed organizations overnight, we can learn many lessons by looking at incident response patterns.

George Miranda — PagerDuty

  • COVID-19(新型コロナウイルス感染症)の対応でリモートワークへの移行が急激に進んでいる現状を、過去のオンプレでのオンサイト運用からクラウドでの分散運用、コロナ対応とPagerDuty社の体制や対応に言及しながら解説している。

  • GitLab社の「コミュニケーションプラクティス」、障害対応後の「非難なきポストモーテム」、PagerDuty社のブログ「効果的なリモートワーク」などを紹介している。

When correlation (or lack of it) can be causation

Today’s post is a double header. I’ve chosen two papers from NSDI’20 that are both about correlation.

Paper #1 is a tool that helps identify when files A and B are often changed at the same time, and warns you if you forgot B. Mehta et al. — NSDI’20 (original paper #1)
Paper #2 is a tool for finding correlated failure risks that threaten reliability.
Zhai et al. — NSDI’20 (original paper #2)
Adrian Colyer — The Morning Paper (summaries)

Great Incident Response Requires 3 Major Components

The components from the article are:

Ability to recognize how bad the situation really is, and prioritize it
Effective communication skills
Compassionate responses to mistakes and a learning mindset_**

Hannah Culver — Blameless

  • リモートワークが身近になり、分散して働いているチームが標準になるにつれ、障害対応がよりトリッキーになった。

  • 働く場所を問わず障害対応に必要な要素として以下3つを解説している。

1.状況がどの程度悪いのかを認識し、それを優先する能力
2.効果的なコミュニケーションスキル
3.間違いに対する思いやりのある対応と学ぼうとするマインドセット

  • 3/26 11:00 a.m.(現地時間:Pacific Time)に実践的な障害対応を数十年に渡って行ってきているチーム主催で行うそうなので、ご興味のある方はこちらで登録を。席に限りがあるそうです。
Announcing Failover Conf

We’re pleased to announce Failover Conf, a conference focused on building resilient systems. The conference will be held online on April 21 and session submissions will be accepted through March 23.

CFP open through March 23.
Gremlin

  • 4/21にFailover Confをオンラインで開催する事、3/23までCFP受け付けている旨の案内。オフラインでやる予定が予期せぬ事態が発生したので、名前通りフェイルオーバーとしてオンライン開催する事にしたという話。

  • 「Practicing resilience」という言葉に実務者、実践者としての矜持を感じる。

Grow your blame-free culture with these postmortem best practices | FireHydrant

There are some good tips in here, especially if you’re new to this.
Mandy Mak

  • 「非難なき文化」をポストモーテムの3つのベストプラクティスを通して自身の組織で広めていく提案。

  • 1.「非難なきポストモーテム」は学ぶ事にフォーカスする
    -->より良く情報を持っている状態でエンジニアが対応出來るようにする。

  • 2.グループで努力する
    -->非同期的に様々な視点を集める。CSチームなど、障害対応のコンテクスト外のメンバーにも発言力を与え、顧客からどの様な申告があったなどの情報を入れる。新しいメンバーを含めて、全員に情報が届くようにする。

  • 3.ミスを許容する。
    -->「障害の大小に関係無く、全てのメンバーが当時のベストを尽くし、ベストな選択を取ろうとしていた」という事を心に留めておく。
    ->ポストモーテムでは素直さと透明性を奨励し、心理的安全性の確保に勤める。

How network automation helps Fastly support the world’s biggest live-streaming moments

Fastly’s APS tool (Auto Peer Slasher) detects when a link is nearing saturation and automatically reroutes traffic through a different interface.
Ryan Landry — Fastly
Full disclosure: Fastly is my employer.

  • Fastly社のネットワーク自動化とエキスパートのチームがアメリカの1年で最大のトラフィックを発生させるビッグイベント、スーパーボールのライブストリーミング中継をいかに支えていているかという話。

  • あらゆる手を尽くした。国内の多数のISPとダイレクトピアリングを行い、相互接続している各社と可能な限りエンドユーザーの近くで通信が行なわれるようにした。

Outages

KubeWeekly #208: March 20th, 2020

The Headlines

Editor’s pick of the highlights from the past week.
Join SIG Scalability and Learn Kubernetes the Hard Way
Alex Handy, kubernetes.io
Contributing to SIG Scalability is a great way to learn Kubernetes in all its depth and breadth, and the team would love to have you join as a contributor. I took a look at the value of learning the hard way and interviewed the current SIG chairs to give you an idea of what contribution feels like.

  • SIG(Special Interest Group)へのコントリビューターの招待と、Learning the Hard Wayの紹介。そして、「Learn Kubernetes the Hard Way」のリアルな方法としてSIG Scalabilityをオススメしています。

  • ご興味のある方はこちらから登録を。

Kong Ingress Controller and Service Mesh: Setting up Ingress to Istio on Kubernetes

Kevin Chen, Kong
Kubernetes has become the de facto way to orchestrate containers and the services within services. But how do we give services outside our cluster access to what is within? Kubernetes comes with the Ingress API object that manages external access to services within a cluster.

  • Kong IngressコントローラーのIstioメッシュ向けIngressレイヤーとしてのデプロイ方法の解説。

ICYMI: CNCF Webinars

Weekly recap of CNCF member and project webinars that you might have missed.

CNCF Member Webinar: Small Is Not Always Beautiful – Moving Enterprise Applications to the Cloud

Paul Jenkins, Product Manager @Oracle Cloud Infrastructure (OCI) Cloud Native Services, and Tony Vertenten, Co-Founder and CTO @Intris

  • Oracle社のProduct ManagerであるPaul Jenkins氏、Intris社のCo-FounderかつCTOであるTony Vertenten氏がIntris社のアプリのクラウド移行の事例を元に「小さいことは常に美しいわけではない事」を解説しているWebinarの動画。
CNCF Member Webinar: Democratizing Analytics with Cloud Native Data Warehouses on Kubernetes

Robert Hodges, CEO @Altinity, and Vladislav Klimenko, Senior Software Engineer @Altinity

  • AltinityのCEOであるRobert Hodges氏、同社のSenior Software EngineerであるVladislav Klimenko氏が「Kubernetes上でクラウドネイティブデータウェアハウスの分析を民主化する方法」としてOSSであるデータウェアハウスとしてのClickHouseClickHouse Kubernetes operatorを解説しているWebinarの動画。
CNCF Member Webinar: Calico Networking with eBPF

Chris Hoge, Developer Advocate @Project Calico, and Shaun Crampton, Core Developer @Project Calico

  • Project CalicoとTigera社のDeveloper AdvocateであるChris Hoge氏と、Project CalicoのCore DeveloperおよびTigera社のPrincipal EngineerであるShaun Crampton氏による、CalicoのeBPF((Berkeley Packet Filter)ベースの新しいデータープレーンについて解説しているWebinarの動画。

The Technical

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

On the state of Envoy Proxy control planes

Matt Klein

  • Lyft社のSoftware EngineerかつEnvoyのCreatorであるMatt Klein氏の個人ブログでのEnvoy Proxyコントロールプレーンの現状とこれから数年間の分析。
Introducing istiod: simplifying the mesh control plane

Craig Box, Google

  • Google社のCraig Box氏によるIstio1.5でコントロールプレーン機能をシングルバイナリーに集約しているIstiodの紹介記事。先週の記事でも触れていたIstio1.5に関する3/19付けの補足情報記事。

  • Istioコントロールプレーンの歴史的経緯、過去の複雑性がもたらしていたコスト、Istiodへの機能集約による恩恵、エキスパート向け追加情報、今後に向けてのコメントに触れている。

Introducing the Calico eBPF dataplane

Shaun Crampton, Tigera

  • Tigera社のPrincipal EngineerであるShaun Crampton氏による、CalicoのeBPF((Berkeley Packet Filter)ベースの新しいデータープレーンをマージした当日(2/25)の内容紹介記事。

  • 上記のWebinar「CNCF Member Webinar: Calico Networking with eBPF」と同じ方です。Webinar動画にはQ&Aもあり最新なのでそちらを見ると良いと思います。

Directing Kubernetes traffic with Traefik

Lee Carpenter

  • 2つのシンプルなデプロイし、Traefikを使って外部から内部のクラスターにトラフィックを通し、その後Kubernetesのリソースをいかに削除するかを解説している記事。
Your own Kubernetes controller – Laying out the work

Nicolas Fränkel

  • 3部作のPart 1。この記事では、Go以外の言語で独自のコントローラーの実装を開始する方法について説明している。
Migrating from Helm v2 to v3

Tutorial Cloud Native

  • Helmのバージョン2までのTillerのセキュリティーリスク、バージョン3の新機能の紹介、バージョン2から3への移行方法と移行時の注意点の解説を行っている。
Show Me Your Code with Walter Dal Mut: Extend Kubernetes in NodeJS

Gianluca Arbezzano

  • InfluxData社のSREかつCNCFAmbassadorであるGianluca Arbezzano氏とCorley社のSolutions ArchitectであるWalter Dal Mut氏による「NodeJSでのKubernetes開発」に関するYouTube動画。最初のGianluca氏が話している所は聴き取りづらいので、飛ばした方が良さそうですね。
5 tips for troubleshooting apps on Kubernetes

Alex Ellis

  • kubectlコマンドを使った5つのトラブルシューティングに役立つオプションと、使い方の解説。
Our failure story with Redis operator for K8s (+ a brief look at Redis data analysis tools)

Flant staff

  • Flant社におけるRedisオペレーターの失敗と学びの共有記事。

  • Redisのデータを分析する6つのOSSツールにも触れている。

Introduction to Security Contexts and SCCs

Alexandre Menezes, Red Hat

  • 下記のシナリオを防ぐ手段として、security contextとSCCs (Security Context Constraints)の設定を提案している記事。

  • コンテナプラットフォームでは、作成されたオブジェクトから適切なRBACプラクティスで保護されるが、Nodeは保護されない場合がある。

PodはRBACによって制限されているため、APIを使用してetcdのオブジェクトを削除できないかもしれないが、システム内の重要なファイルを削除し、適切にプログラムされている場合はkubeletさえも停止することもある。

Creating Workspaces with the HashiCorp Terraform Operator for Kubernetes

Rosemary Wang, Hashicorp

  • HashiCorp Terraform Operatorのalpha版リリースに伴うHashicorp社の記事。YouTubeのデモ動画も記事中に埋め込まれている。

Damaso Sanoja

  • DigitalOcean Kubernetes (DOKS)クラスターをセキュアに保つ方法を紹介しているDigitalOcean社の記事。
13 Kubernetes tutorials in Spanish, 20 Kubernetes tutorials in Portuguese, and 14 Kubernetes tutorials in Russian

Digital Ocean

  • DigitalOcean社サイトのコミュニティーページにある開発者、システム管理者向けの多言語対応(英語、ドイツ語、スペイン語、ポルトガル語、ロシア語)のTutorialページ。Kubernetesをキーワード検索している。

  • ただし、Kubernetesというキーワードではドイツ語は3/21(土)時点では無し。

The Editorial

Articles, announcements, and more that give you a high-level overview of challenges and features.

etcd, with Xiang Li

Adam Glick and Craig Box, Kubernetes Podcast from Google

  • Google社社員によるKubernetes Podcast。現在のCo-hostはCraig Box氏とAdam Glick氏。

  • CoreOS社へのインターン時代にetcdを開発し、引き続きetcdのメンテナーを務めつつ、現在はAlibaba社でインフラをケアしているXiang Li氏がゲスト。

  • News of the weekで気になったトピックは以下の3つ。

Managing Harbor at cloud scale : The story behind Harbor Kubernetes Operator

Maxime Hurtrel

  • OVHcloud社がHarborプロジェクトをベースにKubernetesのオペレーターを作成し、CNCF傘下のgoharborプロジェクトでOSS化した話。
Securing Kubernetes Networking with Nicole Hubbard, Hashicorp

The New Stack Makers

  • HashiCorp社のDeveloper AdvocateであるNicole Hubbard氏のPodcast。

  • YouTube動画もある。

  • EnvoyとConsul Connectを使用してセキュアにデータの通信を異なるKubernetesとマイクロサービス間で維持するかをYouTube動画ではスライドを交えて説明。

  • 私はいつも「The New Stack」はPodcastしか聴いていなかったのですが、今回動画がある事に気付きました。見やすいスライドなので、動画の視聴がオススメです。

Day 2 for the Operator Ecosystem

Gerred Dillon and Matt Jarvis, DevOps.com

  • Kubernetesでオペレーターが必要とされる様になった経緯から、ビルドツールであるKubebuilderMetacontrollerKUDOに触れ、求められる専門性に幅があり、異なる事を説明。

  • オペレーターの挙動が正しいか確認するテストを書くツールKuttlも紹介している。

4 ways to manage Kubernetes resources

Tomasz Cholewa

  • シンプルさと複雑性の観点から以下4つのツールを利用したKubernetesのリソース管理方法を解説している。
    1.kubectlコマンドとyamlファイル
    2.kustomizeコマンド
    3.Helmチャート
    4.オペレーター
Interoperability of open-source tools: the emergence of interfaces

Katie Gamanji

  • 上記DEVOPS WEEKLY ISSUE #480で取り上げているので割愛。

Upcoming CNCF webinars

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

Lowering the Barrier to Kubernetes Proficiency – Navigating the Stormy Seas of Information
Chris Black, Sr. Solutions Engineer @CircleCI
Member webinar
March 25, 2020 10:00 AM Pacific Time
REGISTER NOW »

Continuous profiling Go application running in Kubernetes
Gianluca Arbezzano, Site reliability engineer @InfluxData
Ambassador webinar
March 27, 2020 10:00 AM Pacific Time
REGISTER NOW »

Container Security at Scale: Lessons Learned from the Front Lines with ABN AMRO and Palo Alto Networks
Wiebe de Roos, CI/CD Consultant @Flusso and ABN Amro
Keith Mokris,Technical Marketing Engineer @Palo Alto Networks
Member webinar
April 1, 2020 10:00 AM Pacific Time
REGISTER NOW »

Taming Your AI/ML Workloads with Kubeflow The Journey to Version 1.0
David Aronchick @Microsoft
Elvira Dzhureava, Technical Product Engineer AI/M @Cisco
Johnu George, Technical lead @Cisco Systems
Member webinar
April 2, 2020 9:00 AM Pacific Time
REGISTER NOW »

Welcome to CloudLand! An Illustrated Intro to the Cloud Native Landscape
Kaslin Fields, Developer Advocate @Google
Ambassador webinar
April 3, 2020 10:00 AM Pacific Time
REGISTER NOW »

Best Practices for Deploying a Service Mesh in Production: From Technology to Teams
Buoyant
Member webinar
April 8, 2020 10:00 AM Pacific Time
REGISTER NOW »

Declarative Host Upgrades From Within Kubernetes
Adrian Goins,Director of Community and Evangelism @Rancher Labs
Dax McDonald,Software Engineer @Rancher Labs
Jacob Blain Christen, Principal Software Engineer @Rancher Labs
Member webinar
April 14, 2020 10:00 AM Pacific Time
REGISTER NOW »

如何让你的Windows应用运行在Kubernetes平台
杨雨 Alex Yang, 解决方案架构师 Solution Architect @Mirantis
张文墨Larry Zhang, 解决方案架构师 Solution Architect @Mirantis
Member webinar
This webinar will be delivered in Chinese
April 23, 2020 10:00 AM China Standard Time
REGISTER NOW »

Kubernetes 1.18
Kubernetes team
Project webinar
April 23, 2020 9:00 AM Pacific Time
REGISTER NOW »

Pivoting Your Pipeline from Legacy to Cloud Native
Tracy Ragan, CEO of DeployHub and CDF Board Member
Member webinar
June 30, 2020 10:00 AM Pacific Time
REGISTER NOW »

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

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

では、また。

Bye now!!

Yoshiki Fujiwara