狠狠撸

狠狠撸Share a Scribd company logo
1
IIJ Technical Night No.10
ようこそ、Kubernetes沼へ。商?サービスSREの現場から
2
??紹介
Inetnet Initiative Japan
SRE 室? ?? 景介
IIJにSREを?ち上げた発起?。
少数の専任とサービス事業部?から集められた総勢18名の
エンジニアで編成。プラットフォームの技術開発の場であり、
事業部?とインフラ部?の交流の場でもある。
#cloud #kubernetes #roadbike #udon
#f1
3
:= Vanilla Kubernetes + 何?
vanilla:
改変?改修?カスタマイズなどが?切?われていない、提供された状態のまま(原型を留めたままの状態)を指す
出典: フリー百科事典『ウィキペディア(Wikipedia)』
? kube-apiserver
? kube-controller-manager
? kube-scheduler,
? kube-proxy
? kubelet
商?Kubernetes環境
IKE(IIJ Kubernetes Engine)
4
Kubernetesは?途を選ぶ?
向き、不向きはある
いまやステートレス、ステートフルは問題ではない
適?範囲はKubernetesの環境整備の度合いに依存する
5
あらゆるワークロードがオーケストレータに管理されるときがくる
ステップ1: Kubernetesの最低限の機能が利?できる
ステップ2: Kubernetesの標準機能が?式利?できる
ステップ3: Kubernetesクラスタ内外のシステムが連携する
ステップ4: 各種オペレータによる運?効率化
6
Kubernetesを中?としたエコシステムの整備が必須
インフラに最適化されたドライバやコントローラが必須
各社マネージドKubernetesでもプリミティブな環境整備にとどまる
実運?ではシステム全体がKubernetesに閉じることはほぼない
7
Step1:最低限の機能が動く Step2:標準機能が?式動く Step3:クラスタの内外が連携する
ドライバ類
CNI Driver
calico
CSI Driver
NFS
block storage (IaaS)
block storage (linstor)
trafficip controller
node route controller
tenant controller
gate controller
コントローラ
オペレータ
ingress controller
vtm-ingress-controller
traefik
cloud controller manager
metrics server
prometheus adapter
cert-manager
exteranl-dns
organization controller
alerting controller
alertmanager2barry
auth gateway
設備
external LoadBalancer NAS
IaaS
local storage
ephemeral storage
Router (iBGP or eBGP)
Barry
Backoffice
Private Docker Registry
IKE Monitoring
IIJ ID Service
?途
? Webアプリケーションの運?
? データベース類はクラスタ外
? クラスタ内で完結するシステム
? アプリケーションの種類は問わず
? クラスタの内外が連携するシステム
IKEを構成するコンポーネント群(?部抜粋)
8
Vanilla Kubernetes + Driver
Network: CNI(Container Network Interface)Driver
Storage: CSI(Container Storage Interface)Driver
9
multiple ippool
CNI Driver
? 今の所すべての?途にcalicoで対応
? クラスタによりコンフィグレーションは?きく異る
Cluster A
IPv4
Cluster B
IPv4 / IPv6
Cluster C
IPv4
multiple ippool
Cluster D
IPv4
BGP Peer
Router
10
Shared Storage Block Storage Local Storage
主な?途 Deployment StatefulSet StatefulSet
設備 NAS IaaS Block Storage DAS
モード ReadWriteMany ReadWriteOnce ReadWriteOnce
性能 数百IOPS 数千IOPS 数万?数?万IOPS
ストレージマネージャ NFS IaaS API linstor
ボリューム数 柔軟に設定可 ノードごとに上限 柔軟に設定可
ノード障害時 ごく短時間で復旧 ?定の断を覚悟 ?較的短時間で復旧
プロビジョニング クラスタ構築時 ボリュームごと ストレージプールごと
CSI Driver
? ストレージの要件は幅広い
? 複数のストレージシステムを使い分け、それぞれにドライバが必要
? IKEでは主に3種類のストレージを提供
11
Vanilla Kubernetes + external systems
IKE Monitoring + Grafana Loki + VictoriaMetrics
IKE Gate + IIJ Private Backbone Sesrvice
Barry
IIJ DNS Platform Service
IIJ Identity Service
IIJ Object Storage Service
IIJ MTA
IIJ Back Office
12
Tenant
Tenant IKE Gate
Tenant
Tenant IKE Gate
Vanilla Kubernetes + Network Management
IKE Gate
IKE
IPv4/IPv6変換
? お客様へ閉域網を通してサービス提供
アドレスプールを?元管理
? ネットワークを指定すれば適切なアドレスがアサイン
? ロードバランサ、ゲートウェイなどに設定
クラスタ内外の経路制御
? BGPピアをはってルーティング
? 必要に応じてPod Networkの経路を広告
BackOffice
Database
Virtual Machines
Tenant
Tenant
13
IKE
Vanilla Kubernetes + Monitoring System
モニタリング
? あらゆるメトリクスをVictoriaMetricsへ集約
ロギング
? あらゆるログをGrafana Lokiへ集約
? IIJオブジェクトストレージサービスへ?期保存
マルチテナント
? テナントごとにクライアント証明書を発?
? ログとメトリクスをテナントごとに分割
? GrafanaのOrganizationと対応
IIJ Object Storage
IKE Monitoring
Proxy
prometheus
prometheus
IKE
promtail
promtail
prometheus
prometheus
promtail
promtail
grafana
grafana
Victoria Metrics
Victoria Metrics
Grafana Loki
Grafana Loki
クライアント証明書 認証
ログ?メトリクス
14
?材育成 - 運?
「インフラ」と「アプリケーション」の境界が?レイヤーへ
かつてのインフラよりも広範囲の知識が要求される
インフラだけ、Kubernetesだけに詳しいでは?りない
15
?材育成 – 開発者
今はエンジニアの知的好奇?に?えさせてもらっている
既存システムをいかにKubernetes上で再現するかを考えがち
Dockerfileが最?の敵。Kubernetesのマニフェストは慣れ
16
話題は尽きませんが、次の機会に
プラットフォームが果たすべきセキュリティの責任とは
監視システムが全?的に刷新。ついてこれるか
費?対効果。あなたのビジネスにスピードは必要か?
アップグレードは簡単。でも互換性はどう?
17
IIJ-BKLT999-0001

More Related Content

【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?