ry's Tech blog

Cloud Native技術などについて書いていきます。

Kubenews #49

2021-03-11

Announcing automated multi-cluster failover for Kubernetes (click here to source)

Linkerdの新しい自動フェイルオーバー機能がリリースされたらしい。

この機能により、Linkerdは、障害のあるサービスもしくはアクセスできないサービスから、「他のクラスター上の」レプリカを含む、そのサービスの1つ以上のレプリカにすべてのトラフィックを自動的にリダイレクトすることができます。

リダイレクトされたトラフィックは、オープンなインターネットによって分離されたクラスターの境界を越えたとしても、Linkerdによるアプリケーションのセキュリティ、信頼性、および透過性の保証をすべて維持します。

linkerd-failover 専用レポジトリ

Helm経由でインストール

# Add the linkerd-edge Helm repo if you haven't already
helm repo add linkerd-edge https://helm.linkerd.io/edge

# And the linkerd-smi extension
helm repo add linkerd-smi https://linkerd.github.io/linkerd-smi
helm repo up

# Install linkerd-smi and linkerd-failover
helm install linkerd-smi -n linkerd-smi --create-namespace linkerd-smi/linkerd-smi
helm install linkerd-failover -n linkerd-failover --create-namespace --devel linkerd-edge/linkerd-failover

次に、 既存のTrafficSplitに failover.linkerd.io/controlled-by: linkerd-failover ラベルを適用して、サービスフェイルオーバーを構成します。

apiVersion: split.smi-spec.io/v1alpha2
kind: TrafficSplit
metadata:
name: sample-svc
annotations:
  failover.linkerd.io/primary-service: sample-svc
labels:
  failover.linkerd.io/controlled-by: linkerd-failover
spec:
service: sample-svc
backends:
  - service: sample-svc
    weight: 1
  - service: sample-svc-remote
    weight: 0

この例では、sample-svcヘルスチェックが完全に失敗した場合、サービスへのトラフィックはローカルクラスターからレプリカに自動的にフェイルオーバーします。

Reducing negative and biased language in documentation (click here to source)

Examples of language

要約すると、識別すべき言語の種類には次のものが含まれます。

  • Patronizing (人の上に立った態度を取る):作家の表現を理解していないことに対して、読者に愚かまたは無知に感じさせることができる言語。
  • Rude (失礼):不快な言葉や冒とく的な言い回しを明示的に使用する言葉。
  • Overly negative (過度に否定的):過度に否定的な意味合いを使用する言語は、読者に、タスクを達成するのが難しいと感じさせたり、テキストを読むのに飽きさせたりする可能性があります。
  • Biased (偏見):あるグループを別のグループよりも優遇する、または偏見を与える用語を不必要に使用する言語。
  • Out-dated (時代遅れ):大規模なコミュニティの人々から古いまたは不適切と見なされている用語を使用する言語。
  • Unhelpful (役に立たない):テキストに何も追加しない言語、または最悪の場合、テキストはこのリストの他のカテゴリの1つに分類されます。

An introduction to linting

テキストを「リント」するツールの例としては、次のようなものがあります。

Install

Homebrewで簡単にいれられる

brew install vale

Configure

テキストをチェックするには、Valeには2つの主要なコンポーネントが必要です。

  1. テキストをチェックするための「ルール」を定義するスタイルのコレクション 。事前に作成されたスタイルは多数ありますが、独自のスタイルを作成することもできます。
  2. 少なくともスタイルの場所と有効にするスタイルを定義する.vale.ini 構成ファイル。

以下のコマンドで実行が可能

vale {file_name}

スタイルとルール

スタイルというYAML形式のファイルで定義することで、さまざまな提案がなされます。 YAMLファイルは、正規表現RegEx)と、ルールに応じたいくつかの構成から成っています。

Previous experience as a policewoman, saleswoman, or waitress.

extends: substitution
message: "Consider using '%s' instead of '%s'."
ignorecase: true
level: error
swap:
  police(?:m[ae]n|wom[ae]n):   police officer(s)
  sales(?:m[ae]n|wom[ae]n):    salesperson or sales people
  waitress:                    waiter

Another example might be highlighting “guys” by using the “existence” extension point, which triggers when Vale finds a token in the text.

extends: existence
message: "Avoid using '%s'"
description: "Use of '%s' could indicate that you're discriminating in favor of a certain gender."
ignorecase: true
level: error
tokens:
  - 'guys?'

Cloud Native Observability Microsurvey(click here to source)

最近、CNCF Observability Technical Advisory Group(TAG)と提携して、2021年の終わりにクラウドネイティブコミュニティのマイクロサーベイを実施し、組織が可観測性ツールをどのように使用しているかを調べた結果が載っています。