SlideShare a Scribd company logo
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetesで実現する
運用自動化の新しいアプローチとは
日本オラクル株式会社
ソリューション・エンジニアリング統括
セールスコンサルタント
May 17, 2019
茂 こと @cotoc88
B-2-2 #codetokyo19B2 #codetokyo19
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
• 茂 こと(しげる こと)
• 日本オラクルのプリセールエンジニア
Oracle ExadataのPoCパフォーマンスエンジニア、
大手通信業様、大手広告業様の担当を経て、
現在はCloud Nativeやアプリケーション開発支援プロダクト
を担当
• Oracle Cloud Hangout Cade(OCHa Cafe) /
Cloud Native Developers JP(cndjp)の運営
• Japan Container Days 18.12 登壇
– Kubernetesが超強力な分散RDBに!
Vitessの真価を大検証してみた
• Developers Summit 2019 登壇
– Cloud Native アプリケーションに最適!
Oracle Cloud Infrastructureの魅力!
3
自己紹介
@cotoc88
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
本日のキーワード:
Kubernetes Operator
Kubernetesを拡張し、システムの運用自動化を実現するソフトウェア
4
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
目次
• イントロダクション
• Kubernetes
• Kubernetes Operator
• オラクルがオープンソースで開発するOperator
– MySQL Operator
– Oracle WebLogic Server Operator
5
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
システムに求められること
イントロダクション
6
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
システムに求められること
• ビジネスにはスピードと品質が求められる
✓サービスの早期リリース
✓市場の動向/反応を早期フィードバックして対応
✓サービス停止による機会損失をなくす
• システムは変化するビジネス要件に短い時間で
対応(リリース)できることが求められるように
✓アプリの変更をすぐに本番環境に適用
✓変化を許容できるシステムを構築
✓停止時間の短縮と運用作業の効率化
7
社内業務の効率化から新ビジネスの創造へ
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
システム開発のライフサイクル
8
ビジネスのスピードに合わせて、頻繁にライフサイクルを回す
要件・計画
開発運用・保守
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
システム開発フェーズで求められること
9
アプリ開発
・リリースサイクルの短縮
・アプリ品質の向上
CI/CD
- テスト、ビルドの自動化
- プロビジョニングの自動化
基盤構築
・環境構築時間の短縮
・構築した基盤の品質向上
Infrastructure as code
- 自動化
- イミュータブル
求められること 実現方法
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
システム運用・保守フェーズで求められること
10
運用
・性能と可用性の維持
・運用品質のキープ
運用タスクの自動化
- 稼働中の構成変更・維持
保守 ・リリースリスクの低減
Blue Greenデプロイメント
カナリアリリース
求められること 実現方法
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
コンテナ/コンテナ・オーケストレーター
• コンテナ
– アプリケーションの実行環境をコンテナとしてパッケージ化
– アプリケーションが安定して稼働する環境を、高速かつ簡単に構築できる
✓環境構築に必要な情報をコードとして管理できるので、いつでも同じ環境ができる(イミュータブル)
✓自動化されたリリースサイクルの構築、実践が可能(CI/CD)
• コンテナ・オーケストレーター
– 大量のコンテナの管理を自動化し、停止時間の短縮や運用作業の効率化が可能
✓クラスタに配備する要素を全てコードによって定義(イミュータブル)
✓スケーリング、自動復旧など、構成変更、維持を自動化(運用自動化)
11
システムに求められることを、より効率的に実現する
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes
コンテナ・オーケストレーター
12
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetesとは
• コンテナ・オーケストレーターとは複数コンテナを自動管理するプラットフォーム
大量のコンテナを管理・運用を自動化するコンテナ・オーケストレーター
13
–リソースの抽象化
自動分散配置
–手動/自動でスケーリング
–複数コンテナをまとめて制御
–障害時のコンテナ再立ち上げ
–クラスタ内/外のネットワーク
アクセスの管理
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetesの宣言的オペレーション
• クラスタに配備する要素を全てmanifestファイル(=コード)によって定義
– 環境構成の変更内容をバージョン管理し、追跡可能にする
– 運用オペレーションはコードの変更によって実施し、作業を簡素化する
– 複数Kubernetesクラスタでの相互運用を実現する
14
Kubernetesクラスタ
manifestファイル
✓ アプリ x 3
✓ データストア x 2
✓ ネットワークはアプリ→ データストアを許可
✓ …etc
Kubernetesに適用
アプリケーション
が動作するコンテナ
データストア
が動作するコンテナ
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetesの操作
• Kubernetesの操作(manifestファイルの適用)はkubectlコマンドラインツールを使用
• kubectlはAPI Server経由でetcdの操作を行う
– etcd:Kubernetesのデータ(manifestファイルの内容など)が保存される高信頼性
分散データベース
– API Server:etcdへの読み込み、書き込みを行うAPIサーバ ー
15
Kubernetesクラスタ
>_
kubectl(コマンドラインツール)
etcdAPI Server
PodContainer
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes上でコンテナが動作する様子
• Kubernetesでコンテナが動作する最も基本的な構成
– Pod / Container
– Deployment / Deployment Controller
16
Dc
Deployment
Controller
etcdAPI Server
D
Deployment
PodContainer
>_
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes上でコンテナが動作する様子
• Pod:
– 複数のコンテナを束ねる単位(下の図ではひとつのPodにひとつのコンテナ)
• Container:
– コンテナそのもの。アプリケーションのワークロードの実態
17
Dc
Deployment
Controller
etcdAPI Server
D
Deployment
PodContainer
>_
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes上でコンテナが動作する様子
• Deployment:
– Podの状態(レプリカ数、コンテナイメージなど)を定義するデータ kubectlから投入する
• Deployment Controller:
– Deploymentの内容に合うようにPodの状態を制御するプロセス
18
Dc
Deployment
Controller
etcdAPI Server
D
Deployment
PodContainer
>_
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
KubernetesはControllerの集合体
Observe
AnalyzeAct
19
ControllerはReconciliation Loop(突き合わせループ)により宣言した状態を維持する
アプリケーションの現在の状態を確認する
アプリケーションの現在の状態と
期待する状態を比較する
状態を一致させるために
必要な処理を行う
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes上でコンテナが作成されるまでの流れ
1. Deploymentマニフェストの適用
2. Deployment が作成される
3. Deployment Controllerが検知して、Podが作成される
20
Dc
Deployment
Controller
etcdAPI Server
D
Deployment
PodContainer
>_
manifest
アプリ x 3
をたてたい!
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetesとは
• コンテナ・オーケストレーターとは複数コンテナを自動管理するプラットフォーム
•
・・・・でも
大量のコンテナを管理・運用を自動化するコンテナ・オーケストレーター
–リソースの抽象化
自動分散配置
–手動/自動でスケーリング
–複数コンテナをまとめて制御
–障害時のコンテナ再立ち上げ
–クラスタ内/外のネットワーク
アクセスの管理
エンタープライズシステム
の運用自動化のために
機能は足りている?
21
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
• コンテナで動作するソフトウェアが状態やデータをもつような場合には手作業で
運用タスクを行う必要がある
– ミドルウェアのクラスタリングを構成
– バックアップ・リストア
– 異なる設定をもつPod毎の障害復旧
Kubernetesの標準機能だけでは実現できないこと
22
• 例:データベース
– マスター・スレーブ構成のDBをスケールアウトするときにはリードレプリカとして設定した上で立ち上げなければならない
– バックアップ・リストアにはデータベース固有の操作が必要
• 例:アプリケーション・サーバー
– クラスタには、役割の異なるクラスタメンバーが存在(管理サーバー/管理対象サーバー)
それぞれ適切なオペレーションを行う必要がある
? ? ??
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
本日のキーワード:
Kubernetes Operator
Kubernetesを拡張し、システムの運用自動化を実現するソフトウェア
23
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes Operatorとは
• Kubernetes上に展開してソフトウェア固有の運用タスクを自動実行する
ソフトウェアをKubernetes Operatorと呼ぶ
– Operatorはサードパーティやユーザーが実装し、Podとしてクラスタに配備する
– インスタンス生成/設定/管理を運用管理者に代わって行う
運用知識をソフトウェアに入れみ、運用管理者の代わりに動作
Op Operator
24
SRE/運用管理者
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes Operatorの仕組み
Operatorは以下のコンポーネントから成り立つ
• Custom Resource
– ユーザーが独自に定義したリソース
– Custom Resource Definition(CRD)はKubernetes APIを拡張する
(APIを拡張することでCustom Resourceが取り扱える状態)
• Custom Controller
– ユーザーが独自に作成するコントローラー
• Custom Resourceの内容をKubernetesに作成する
Operatorを作成するためのSDKが提供されている(Operator Framework)
25
独自に設定した定義とコントローラーから成り立つ
https://github.com/operator-framework/operator-sdk
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Kubernetes Operatorの一般的な動作イメージ
1. マニフェストの適用(Custom Resource)
2. Operatorが検知して、Kubernetesのリソースを作成する
3. リソースのControllerが検知して、オブジェクトが作成される
D
Operator
etcd
C
Custom
Resource
PodContainer
O
D
API Server
>_
manifest 26
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
様々なソフトウェアでKubernetes Operatorの開発が進む
• Kubernetes OperatorはCoreOS社(現Red Hat社)によって2016年に
提唱された
• KubeCon + CloudNativeCon North America 2018 では
キーノートや様々なセッションで繰り返し登場するなど、注目度があがっている
27
• etcd
• Elasticsearch
• Envoy
• Istio
• Kafka
• Redis
• Memchched
• MongoDB
• PostgreSQL
• MySQL
• Tomcat
• WebLogic Server
• Tensorflow
• Rook
• Prometheus
• Jaeger
And more…
Kubernetes Operator in the Wild(2019/5 現在 96サービス登録)
https://github.com/operator-framework/awesome-operatorsから抜粋
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
オラクルがオープンソースで開発するOperator
28
WebLogic Server
Operator
https://github.com/oracle/weblogic-kubernetes-operator
MySQL
Operator
https://github.com/oracle/mysql-operator
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL Operator
Kubernetes上のMySQL InnoDB Clusterの構築・運用を自動化
29
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL Operator
• 2018年前半にリリース
– 現在(2019/05) Ver 0.3.0 α版
– MySQL 5.7~対応
• 提供する運用自動化機能
– 単一コマンドでKubernetes上にMySQL InnoDB Clusterを作成/スケール/削除可能
– MySQL InnoDB Clusterの自己修復(自動障害検出、自動回復)
– データのバックアップ(オンデマンド、スケジューリング)及び復元
• 現在は mysqldump のみ対応(Enterprise Backupはロードマップにあり)
30
Kubernetes上のMySQL InnoDB Clusterの構築・運用を自動化
https://github.com/oracle/mysql-operator
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB Clusterとは?
• 特徴
– MySQLネイティブの高可用性構成を構築可能(クラスタリングソフト等は不要)
– DBレイヤーのフェイルオーバーだけでなく、アプリ接続先まで自動フェイルオーバー可能
– デフォルトはシングルプライマリーモードだが、マルチプライマリーモードでの動作も可能
• シングルプライマリーモード:1台のサーバーのみが更新処理可能、残りのサーバーは読み取り専用
– プライマリノードに障害発生時は、自動的に別のインスタンスが新プライマリに昇格
• マルチプライマリーモード:全台で更新処理可能
– MySQL側でのフェイルオーバー処理が不要になる
31
エンタープライズシステムで使用できるMySQLの高可用性フレームワーク
https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-userguide.html
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB Clusterアーキテクチャー
MySQLの高可用性機能 自動フェールオーバー & リカバリ、矛盾検知
M
M M
MySQL Connector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
HA
Group Replication
アプリケーションはMySQL
Routerに接続
Group Replicationによる
高可用性グループと
メタデータの管理
MySQL Shellで設定管
理が可能
+-------------------------------+
| Database |
+-------------------------------+
| information_schema |
| mysql |
| mysql_innodb_cluster_metadata |
| performance_schema |
| sys |
+-------------------------------+
mysql_innodb_cluster_metadata.*
performance_schema.replication_group_members
performance_schema.replication_group_member_stats
32
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL OperatorによるMySQL InnoDB Clusterの管理
MySQL
Operator
OpM
M M
Group Replication
(Single or Multi Primary)
LoadBalancer
etcdAPI Server
CR
Custom
Resource
Application
(Container)
MySQL Router
(Container)
Request
MySQL
(Container)
>_
manifest
33
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
1コマンドでOperatorをインストール可能
・・
RESOURCES:
==> v1/Pod(related)
NAME READY STATUS
RESTARTS AGE
mysql-operator-65475db5-8292w 0/1
ContainerCreating 0 1s
==> v1/ServiceAccount
NAME SECRETS AGE
mysql-agent 1 2s
mysql-operator 1 2s
==> v1beta1/ClusterRole
NAME AGE
mysql-agent 2s
mysql-operator 2s
==> v1beta1/ClusterRoleBinding
NAME AGE
mysql-agent 1s
mysql-operator 1s
==> v1beta1/CustomResourceDefinition
NAME AGE
mysqlbackups.mysql.oracle.com 2s
mysqlbackupschedules.mysql.oracle.com 2s
mysqlclusters.mysql.oracle.com 2s
mysqlrestores.mysql.oracle.com 2s
==> v1beta1/Deployment
NAME READY UP-TO-DATE AVAILABLE AGE
mysql-operator 1/1 1 0 1s
34
$ helm install--name mysql-operator mysql-operator
※HELM は k8s のパッケージマネージャー。リポジトリからチャート(パッケージ)をインストール
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB Clusterの作成
35
$ kubectl apply -f multi-master-cluster.yaml
cluster.mysql.oracle.com/mysql created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
mysql-0 2/2 Running 0 119s
mysql-1 2/2 Running 0 82s
mysql-2 2/2 Running 0 35s
kind: Cluster
metadata:
name: mysql
spec:
multiMaster: true
members: 3
※Clusterリソースを作成すると下位リースに StatefulSet、Headless service が作成される
データを保持するボリューム は Kubernetes の Storage リソース(Persistent Volume等)を別途定義する
Clusterリソースには Persistent Volume Claim、StorageClass または volumeClaimTemplate を定義可能
k8s詳しい
方への補足
Custom
Resource
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB Cluster on Kubernetes障害復旧
• 自己修復ソリューション(自動障害検出、自動回復)
– Operatorが障害を検知、Podをステートを持った状態で立ち上げ
– MySQL Group Replicationのグループに参加
– Group Replicationの機能によりデータ同期、復旧が行われる
MySQL
Operator
OpM
M M
LoadBalancer
etcdAPI Server
CR
Custom
Resource
Application
MySQL Router
Request
Group Replication
(Single or Multi Primary)
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Oracle WebLogic Server Operator
Kubernetes上のOracle WebLogic Serverの構築・運用を自動化
37
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Oracle WebLogic Server Kubernetes Operator
• 2018年5月にバージョン 1.0 をリリース
– 現在最新バージョン 2.1、 2.0.1~ OpenShift 対応
• WebLogicドメインを表現するCustomer Resourceを監視し、
その記述に合うようにWebLogic Server固有の管理タスクを実行する
Kubernetes上のOracle WebLogic Serverの構築・運用を自動化
Wo
WebLogic
Operator
etcdAPI Server
Do
Domain
WebLogic Cluster
Admin ServerManaged Server
38
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
• 高いサービスレベル
– アプリケーションの無停止更新
– アプリケーション機能全域に渡
る冗長化とフェイルオーバー
– 処理の優先順位や流量の制
御
• 充実した運用・管理機能
– 自動チューニング
– 詳細なプロファイリングデータの
常時収集
– 管理ダッシュボードやツール群
を標準装備
39
• Oracle DBとの親和性
– RACとの連携による、DB障害
時の高速フェイルオーバー
– DBインスタンスの稼働状況に
応じた動的負荷分散
Oracle WebLogic Server
エンタプライズの要求に応える、Java EEアプリケーション・サーバー
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
• 可用性
– アプリケーションフェイルオーバーや
サービス移行によるサービス継続
• 拡張性
– 新規ノードの追加による
処理能力の向上
40
• 管理性
– クラスタ・グループに対する一
括管理
Oracle WebLogic Serverクラスタ機能
クラスタリングによる可用性・拡張性・管理性の向上
WebLogic ドメイン
Cluster
Managed
Server
Managed
Server
Managed
Server
Web
Server
Proxy
Plug-in
フェイル
オーバー
WebLogic ドメイン
Clueter
Managed
Server
Managed
Server
Managed
Server
Web
Server
Proxy
Plug-in
ノード追加
WebLogic ドメイン
Cluster
Managed
Server
Managed
Server
Managed
Server
アプリケーション
パッチ
Admin
Server
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
WebLogic Server Kubernetes Operatorが提供する機能
• WebLogic Server Podの障害時自動復旧
• Kubernetesの構成を考慮して高可用性構成を自動で構築
• WebLogic Serverクラスタの自動スケーリング
• Prometheus/Grafanaによるモニタリング
• Elasticsearch/Kibanaを用いた、WebLogic ServerおよびOperator自身のログ分析
• Kubernetesリソース、カスタム・リソース(Domainオブジェクト)の作成を支援するスク
リプトの提供
(…他多数)
41
Kubernetesの能力を活かすことで高可用性と高度な運用を実現
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
1コマンドでOperatorをインストール可能
42
・・・
RESOURCES:
==> v1/ClusterRole
NAME AGE
default-weblogic-operator-clusterrole-domain-admin 3s
default-weblogic-operator-clusterrole-general 3s
default-weblogic-operator-clusterrole-namespace 3s
default-weblogic-operator-clusterrole-nonresource 3s
default-weblogic-operator-clusterrole-operator-admin 3s
==> v1/ClusterRoleBinding
・・・(略)
==> v1/ConfigMap
NAME DATA AGE
weblogic-operator-cm 2 3s
==> v1/Pod(related)
NAME READY STATUS
RESTARTS AGE
weblogic-operator-8569c6cb4f-fwwfs 1/1 Running 0
2s
==> v1/Role
NAME AGE
weblogic-operator-role 3s
==> v1/RoleBinding
NAME AGE
weblogic-operator-rolebinding 3s
weblogic-operator-rolebinding-namespace 3s
==> v1/Secret
NAME TYPE DATA AGE
weblogic-operator-secrets Opaque 0 4s
==> v1/Service
NAME TYPE CLUSTER-IP
EXTERNAL-IP PORT(S) AGE
internal-weblogic-operator-svc ClusterIP 10.96.46.40
<none> 8082/TCP 2s
==> v1beta1/Deployment
NAME READY UP-TO-DATE AVAILABLE AGE
weblogic-operator 1/1 1 1 2s
$ helm install weblogic-operator/weblogic-operator --name weblogic-operator
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
WebLogic Server Podの障害時自動復旧
• WebLogic OperatorはDomainカスタムリソースに定義された構成を
常に維持しようとする
• 障害等でPodが減少すると、それを検知して自動再作成を行う
– Operatorが障害を検知、Podをステートを持った状態で立ち上げ
43
オペレーション不要でコンテナ障害時から自動復旧
WebLogic
Operator
Managed Server
Wo
Admin Server
WebLogic Cluster
etcdAPI Server
D
Domain
keep
Pod x 2の状態を維持
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
メトリック収集
WebLogic Serverクラスタの自動スケーリング
• Prometheusアラートアクションを使用した自動スケーリング
– PrometheusがWebLogic Serverのメトリックデータ(MBean)を監視し、指定した条件を
超えた場合にスケーリングする
44
運用・管理コストの削減/可用性の向上
WebLogic
Operator
Managed Server
Wo
Prometheus
Admin Server
webhook
Server
Prometheus
Alert mangerPa
WebLogic Cluster
new
WebLogic Monitoring Exporter
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Demo
Oracle WebLogic Serverクラスタ on Kubernetes
Prometheusを利用した動的スケールアウト
45
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
CERN(欧州原子核研究機構)で検証利用されている
46
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
まとめ
47
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
まとめ
• KubernetesとOperatorの併用により、アプリケーションまで含めた
運用の自動化を実現することができる
– Kubernetesの登場により、大量のコンテナの管理を自動化し、停止時間の短縮や
運用作業の効率化が可能
– OperatorはKubernetesの標準機能だけでは実現できないソフトウェア固有の運用作業
(バックアップ・リストア、クラスタの作成等) を自動化するソフトウェア
エンタープライズシステムを運用自動化し、
ビジネスに求められるスピード、品質を実現する
48
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
本日のキーワード:
Kubernetes Operator
Kubernetesを拡張し、システムの運用自動化を実現するソフトウェア
49
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 50
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement
The preceding is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, timing, and pricing of any
features or functionality described for Oracle’s products may change and remains at the
sole discretion of Oracle Corporation.
51
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは

More Related Content

What's hot

乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
NTT DATA Technology & Innovation
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
whywaita
 
KubernetesバックアップツールVeleroとちょっとした苦労話
KubernetesバックアップツールVeleroとちょっとした苦労話KubernetesバックアップツールVeleroとちょっとした苦労話
KubernetesバックアップツールVeleroとちょっとした苦労話
imurata8203
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
NTT DATA Technology & Innovation
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
Kuniteru Asami
 
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
株式会社MonotaRO Tech Team
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
Amazon Web Services Japan
 

What's hot (20)

乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
 
KubernetesバックアップツールVeleroとちょっとした苦労話
KubernetesバックアップツールVeleroとちょっとした苦労話KubernetesバックアップツールVeleroとちょっとした苦労話
KubernetesバックアップツールVeleroとちょっとした苦労話
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
 
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
 

Similar to [OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは

[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力![DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
オラクルエンジニア通信
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
VirtualTech Japan Inc.
 
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステムOCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
オラクルエンジニア通信
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
IIJ
 
2018 07-19dist
2018 07-19dist2018 07-19dist
2018 07-19dist
Yuji Oshima
 
Tech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSMTech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSM
勇 黒沢
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
NTT DATA Technology & Innovation
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
whywaita
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
オラクルエンジニア通信
 
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltJapan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
capsmalt
 
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版][old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
オラクルエンジニア通信
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
オラクルエンジニア通信
 
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
オラクルエンジニア通信
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
Masatomo Ito
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
Masahito Zembutsu
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
bitbank, Inc. Tokyo, Japan
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
Google Cloud Platform - Japan
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
whywaita
 

Similar to [OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは (20)

[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力![DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステムOCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
 
2018 07-19dist
2018 07-19dist2018 07-19dist
2018 07-19dist
 
Tech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSMTech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSM
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
 
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltJapan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
 
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版][old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
 
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 

Recently uploaded

論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (15)

論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは

  • 1. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
  • 2. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetesで実現する 運用自動化の新しいアプローチとは 日本オラクル株式会社 ソリューション・エンジニアリング統括 セールスコンサルタント May 17, 2019 茂 こと @cotoc88 B-2-2 #codetokyo19B2 #codetokyo19
  • 3. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. • 茂 こと(しげる こと) • 日本オラクルのプリセールエンジニア Oracle ExadataのPoCパフォーマンスエンジニア、 大手通信業様、大手広告業様の担当を経て、 現在はCloud Nativeやアプリケーション開発支援プロダクト を担当 • Oracle Cloud Hangout Cade(OCHa Cafe) / Cloud Native Developers JP(cndjp)の運営 • Japan Container Days 18.12 登壇 – Kubernetesが超強力な分散RDBに! Vitessの真価を大検証してみた • Developers Summit 2019 登壇 – Cloud Native アプリケーションに最適! Oracle Cloud Infrastructureの魅力! 3 自己紹介 @cotoc88
  • 4. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 本日のキーワード: Kubernetes Operator Kubernetesを拡張し、システムの運用自動化を実現するソフトウェア 4
  • 5. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 目次 • イントロダクション • Kubernetes • Kubernetes Operator • オラクルがオープンソースで開発するOperator – MySQL Operator – Oracle WebLogic Server Operator 5
  • 6. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. システムに求められること イントロダクション 6
  • 7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. システムに求められること • ビジネスにはスピードと品質が求められる ✓サービスの早期リリース ✓市場の動向/反応を早期フィードバックして対応 ✓サービス停止による機会損失をなくす • システムは変化するビジネス要件に短い時間で 対応(リリース)できることが求められるように ✓アプリの変更をすぐに本番環境に適用 ✓変化を許容できるシステムを構築 ✓停止時間の短縮と運用作業の効率化 7 社内業務の効率化から新ビジネスの創造へ
  • 8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. システム開発のライフサイクル 8 ビジネスのスピードに合わせて、頻繁にライフサイクルを回す 要件・計画 開発運用・保守
  • 9. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. システム開発フェーズで求められること 9 アプリ開発 ・リリースサイクルの短縮 ・アプリ品質の向上 CI/CD - テスト、ビルドの自動化 - プロビジョニングの自動化 基盤構築 ・環境構築時間の短縮 ・構築した基盤の品質向上 Infrastructure as code - 自動化 - イミュータブル 求められること 実現方法
  • 10. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. システム運用・保守フェーズで求められること 10 運用 ・性能と可用性の維持 ・運用品質のキープ 運用タスクの自動化 - 稼働中の構成変更・維持 保守 ・リリースリスクの低減 Blue Greenデプロイメント カナリアリリース 求められること 実現方法
  • 11. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. コンテナ/コンテナ・オーケストレーター • コンテナ – アプリケーションの実行環境をコンテナとしてパッケージ化 – アプリケーションが安定して稼働する環境を、高速かつ簡単に構築できる ✓環境構築に必要な情報をコードとして管理できるので、いつでも同じ環境ができる(イミュータブル) ✓自動化されたリリースサイクルの構築、実践が可能(CI/CD) • コンテナ・オーケストレーター – 大量のコンテナの管理を自動化し、停止時間の短縮や運用作業の効率化が可能 ✓クラスタに配備する要素を全てコードによって定義(イミュータブル) ✓スケーリング、自動復旧など、構成変更、維持を自動化(運用自動化) 11 システムに求められることを、より効率的に実現する
  • 12. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes コンテナ・オーケストレーター 12
  • 13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetesとは • コンテナ・オーケストレーターとは複数コンテナを自動管理するプラットフォーム 大量のコンテナを管理・運用を自動化するコンテナ・オーケストレーター 13 –リソースの抽象化 自動分散配置 –手動/自動でスケーリング –複数コンテナをまとめて制御 –障害時のコンテナ再立ち上げ –クラスタ内/外のネットワーク アクセスの管理 https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
  • 14. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetesの宣言的オペレーション • クラスタに配備する要素を全てmanifestファイル(=コード)によって定義 – 環境構成の変更内容をバージョン管理し、追跡可能にする – 運用オペレーションはコードの変更によって実施し、作業を簡素化する – 複数Kubernetesクラスタでの相互運用を実現する 14 Kubernetesクラスタ manifestファイル ✓ アプリ x 3 ✓ データストア x 2 ✓ ネットワークはアプリ→ データストアを許可 ✓ …etc Kubernetesに適用 アプリケーション が動作するコンテナ データストア が動作するコンテナ
  • 15. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetesの操作 • Kubernetesの操作(manifestファイルの適用)はkubectlコマンドラインツールを使用 • kubectlはAPI Server経由でetcdの操作を行う – etcd:Kubernetesのデータ(manifestファイルの内容など)が保存される高信頼性 分散データベース – API Server:etcdへの読み込み、書き込みを行うAPIサーバ ー 15 Kubernetesクラスタ >_ kubectl(コマンドラインツール) etcdAPI Server PodContainer
  • 16. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes上でコンテナが動作する様子 • Kubernetesでコンテナが動作する最も基本的な構成 – Pod / Container – Deployment / Deployment Controller 16 Dc Deployment Controller etcdAPI Server D Deployment PodContainer >_
  • 17. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes上でコンテナが動作する様子 • Pod: – 複数のコンテナを束ねる単位(下の図ではひとつのPodにひとつのコンテナ) • Container: – コンテナそのもの。アプリケーションのワークロードの実態 17 Dc Deployment Controller etcdAPI Server D Deployment PodContainer >_
  • 18. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes上でコンテナが動作する様子 • Deployment: – Podの状態(レプリカ数、コンテナイメージなど)を定義するデータ kubectlから投入する • Deployment Controller: – Deploymentの内容に合うようにPodの状態を制御するプロセス 18 Dc Deployment Controller etcdAPI Server D Deployment PodContainer >_
  • 19. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. KubernetesはControllerの集合体 Observe AnalyzeAct 19 ControllerはReconciliation Loop(突き合わせループ)により宣言した状態を維持する アプリケーションの現在の状態を確認する アプリケーションの現在の状態と 期待する状態を比較する 状態を一致させるために 必要な処理を行う
  • 20. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes上でコンテナが作成されるまでの流れ 1. Deploymentマニフェストの適用 2. Deployment が作成される 3. Deployment Controllerが検知して、Podが作成される 20 Dc Deployment Controller etcdAPI Server D Deployment PodContainer >_ manifest アプリ x 3 をたてたい!
  • 21. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetesとは • コンテナ・オーケストレーターとは複数コンテナを自動管理するプラットフォーム • ・・・・でも 大量のコンテナを管理・運用を自動化するコンテナ・オーケストレーター –リソースの抽象化 自動分散配置 –手動/自動でスケーリング –複数コンテナをまとめて制御 –障害時のコンテナ再立ち上げ –クラスタ内/外のネットワーク アクセスの管理 エンタープライズシステム の運用自動化のために 機能は足りている? 21
  • 22. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. • コンテナで動作するソフトウェアが状態やデータをもつような場合には手作業で 運用タスクを行う必要がある – ミドルウェアのクラスタリングを構成 – バックアップ・リストア – 異なる設定をもつPod毎の障害復旧 Kubernetesの標準機能だけでは実現できないこと 22 • 例:データベース – マスター・スレーブ構成のDBをスケールアウトするときにはリードレプリカとして設定した上で立ち上げなければならない – バックアップ・リストアにはデータベース固有の操作が必要 • 例:アプリケーション・サーバー – クラスタには、役割の異なるクラスタメンバーが存在(管理サーバー/管理対象サーバー) それぞれ適切なオペレーションを行う必要がある ? ? ??
  • 23. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 本日のキーワード: Kubernetes Operator Kubernetesを拡張し、システムの運用自動化を実現するソフトウェア 23
  • 24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes Operatorとは • Kubernetes上に展開してソフトウェア固有の運用タスクを自動実行する ソフトウェアをKubernetes Operatorと呼ぶ – Operatorはサードパーティやユーザーが実装し、Podとしてクラスタに配備する – インスタンス生成/設定/管理を運用管理者に代わって行う 運用知識をソフトウェアに入れみ、運用管理者の代わりに動作 Op Operator 24 SRE/運用管理者
  • 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes Operatorの仕組み Operatorは以下のコンポーネントから成り立つ • Custom Resource – ユーザーが独自に定義したリソース – Custom Resource Definition(CRD)はKubernetes APIを拡張する (APIを拡張することでCustom Resourceが取り扱える状態) • Custom Controller – ユーザーが独自に作成するコントローラー • Custom Resourceの内容をKubernetesに作成する Operatorを作成するためのSDKが提供されている(Operator Framework) 25 独自に設定した定義とコントローラーから成り立つ https://github.com/operator-framework/operator-sdk
  • 26. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Kubernetes Operatorの一般的な動作イメージ 1. マニフェストの適用(Custom Resource) 2. Operatorが検知して、Kubernetesのリソースを作成する 3. リソースのControllerが検知して、オブジェクトが作成される D Operator etcd C Custom Resource PodContainer O D API Server >_ manifest 26
  • 27. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 様々なソフトウェアでKubernetes Operatorの開発が進む • Kubernetes OperatorはCoreOS社(現Red Hat社)によって2016年に 提唱された • KubeCon + CloudNativeCon North America 2018 では キーノートや様々なセッションで繰り返し登場するなど、注目度があがっている 27 • etcd • Elasticsearch • Envoy • Istio • Kafka • Redis • Memchched • MongoDB • PostgreSQL • MySQL • Tomcat • WebLogic Server • Tensorflow • Rook • Prometheus • Jaeger And more… Kubernetes Operator in the Wild(2019/5 現在 96サービス登録) https://github.com/operator-framework/awesome-operatorsから抜粋
  • 28. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. オラクルがオープンソースで開発するOperator 28 WebLogic Server Operator https://github.com/oracle/weblogic-kubernetes-operator MySQL Operator https://github.com/oracle/mysql-operator
  • 29. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL Operator Kubernetes上のMySQL InnoDB Clusterの構築・運用を自動化 29
  • 30. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL Operator • 2018年前半にリリース – 現在(2019/05) Ver 0.3.0 α版 – MySQL 5.7~対応 • 提供する運用自動化機能 – 単一コマンドでKubernetes上にMySQL InnoDB Clusterを作成/スケール/削除可能 – MySQL InnoDB Clusterの自己修復(自動障害検出、自動回復) – データのバックアップ(オンデマンド、スケジューリング)及び復元 • 現在は mysqldump のみ対応(Enterprise Backupはロードマップにあり) 30 Kubernetes上のMySQL InnoDB Clusterの構築・運用を自動化 https://github.com/oracle/mysql-operator
  • 31. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB Clusterとは? • 特徴 – MySQLネイティブの高可用性構成を構築可能(クラスタリングソフト等は不要) – DBレイヤーのフェイルオーバーだけでなく、アプリ接続先まで自動フェイルオーバー可能 – デフォルトはシングルプライマリーモードだが、マルチプライマリーモードでの動作も可能 • シングルプライマリーモード:1台のサーバーのみが更新処理可能、残りのサーバーは読み取り専用 – プライマリノードに障害発生時は、自動的に別のインスタンスが新プライマリに昇格 • マルチプライマリーモード:全台で更新処理可能 – MySQL側でのフェイルオーバー処理が不要になる 31 エンタープライズシステムで使用できるMySQLの高可用性フレームワーク https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-userguide.html
  • 32. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB Clusterアーキテクチャー MySQLの高可用性機能 自動フェールオーバー & リカバリ、矛盾検知 M M M MySQL Connector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell HA Group Replication アプリケーションはMySQL Routerに接続 Group Replicationによる 高可用性グループと メタデータの管理 MySQL Shellで設定管 理が可能 +-------------------------------+ | Database | +-------------------------------+ | information_schema | | mysql | | mysql_innodb_cluster_metadata | | performance_schema | | sys | +-------------------------------+ mysql_innodb_cluster_metadata.* performance_schema.replication_group_members performance_schema.replication_group_member_stats 32
  • 33. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL OperatorによるMySQL InnoDB Clusterの管理 MySQL Operator OpM M M Group Replication (Single or Multi Primary) LoadBalancer etcdAPI Server CR Custom Resource Application (Container) MySQL Router (Container) Request MySQL (Container) >_ manifest 33
  • 34. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 1コマンドでOperatorをインストール可能 ・・ RESOURCES: ==> v1/Pod(related) NAME READY STATUS RESTARTS AGE mysql-operator-65475db5-8292w 0/1 ContainerCreating 0 1s ==> v1/ServiceAccount NAME SECRETS AGE mysql-agent 1 2s mysql-operator 1 2s ==> v1beta1/ClusterRole NAME AGE mysql-agent 2s mysql-operator 2s ==> v1beta1/ClusterRoleBinding NAME AGE mysql-agent 1s mysql-operator 1s ==> v1beta1/CustomResourceDefinition NAME AGE mysqlbackups.mysql.oracle.com 2s mysqlbackupschedules.mysql.oracle.com 2s mysqlclusters.mysql.oracle.com 2s mysqlrestores.mysql.oracle.com 2s ==> v1beta1/Deployment NAME READY UP-TO-DATE AVAILABLE AGE mysql-operator 1/1 1 0 1s 34 $ helm install--name mysql-operator mysql-operator ※HELM は k8s のパッケージマネージャー。リポジトリからチャート(パッケージ)をインストール
  • 35. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB Clusterの作成 35 $ kubectl apply -f multi-master-cluster.yaml cluster.mysql.oracle.com/mysql created $ kubectl get pods NAME READY STATUS RESTARTS AGE mysql-0 2/2 Running 0 119s mysql-1 2/2 Running 0 82s mysql-2 2/2 Running 0 35s kind: Cluster metadata: name: mysql spec: multiMaster: true members: 3 ※Clusterリソースを作成すると下位リースに StatefulSet、Headless service が作成される データを保持するボリューム は Kubernetes の Storage リソース(Persistent Volume等)を別途定義する Clusterリソースには Persistent Volume Claim、StorageClass または volumeClaimTemplate を定義可能 k8s詳しい 方への補足 Custom Resource
  • 36. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB Cluster on Kubernetes障害復旧 • 自己修復ソリューション(自動障害検出、自動回復) – Operatorが障害を検知、Podをステートを持った状態で立ち上げ – MySQL Group Replicationのグループに参加 – Group Replicationの機能によりデータ同期、復旧が行われる MySQL Operator OpM M M LoadBalancer etcdAPI Server CR Custom Resource Application MySQL Router Request Group Replication (Single or Multi Primary)
  • 37. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Oracle WebLogic Server Operator Kubernetes上のOracle WebLogic Serverの構築・運用を自動化 37
  • 38. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Oracle WebLogic Server Kubernetes Operator • 2018年5月にバージョン 1.0 をリリース – 現在最新バージョン 2.1、 2.0.1~ OpenShift 対応 • WebLogicドメインを表現するCustomer Resourceを監視し、 その記述に合うようにWebLogic Server固有の管理タスクを実行する Kubernetes上のOracle WebLogic Serverの構築・運用を自動化 Wo WebLogic Operator etcdAPI Server Do Domain WebLogic Cluster Admin ServerManaged Server 38
  • 39. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. • 高いサービスレベル – アプリケーションの無停止更新 – アプリケーション機能全域に渡 る冗長化とフェイルオーバー – 処理の優先順位や流量の制 御 • 充実した運用・管理機能 – 自動チューニング – 詳細なプロファイリングデータの 常時収集 – 管理ダッシュボードやツール群 を標準装備 39 • Oracle DBとの親和性 – RACとの連携による、DB障害 時の高速フェイルオーバー – DBインスタンスの稼働状況に 応じた動的負荷分散 Oracle WebLogic Server エンタプライズの要求に応える、Java EEアプリケーション・サーバー
  • 40. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. • 可用性 – アプリケーションフェイルオーバーや サービス移行によるサービス継続 • 拡張性 – 新規ノードの追加による 処理能力の向上 40 • 管理性 – クラスタ・グループに対する一 括管理 Oracle WebLogic Serverクラスタ機能 クラスタリングによる可用性・拡張性・管理性の向上 WebLogic ドメイン Cluster Managed Server Managed Server Managed Server Web Server Proxy Plug-in フェイル オーバー WebLogic ドメイン Clueter Managed Server Managed Server Managed Server Web Server Proxy Plug-in ノード追加 WebLogic ドメイン Cluster Managed Server Managed Server Managed Server アプリケーション パッチ Admin Server
  • 41. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. WebLogic Server Kubernetes Operatorが提供する機能 • WebLogic Server Podの障害時自動復旧 • Kubernetesの構成を考慮して高可用性構成を自動で構築 • WebLogic Serverクラスタの自動スケーリング • Prometheus/Grafanaによるモニタリング • Elasticsearch/Kibanaを用いた、WebLogic ServerおよびOperator自身のログ分析 • Kubernetesリソース、カスタム・リソース(Domainオブジェクト)の作成を支援するスク リプトの提供 (…他多数) 41 Kubernetesの能力を活かすことで高可用性と高度な運用を実現
  • 42. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 1コマンドでOperatorをインストール可能 42 ・・・ RESOURCES: ==> v1/ClusterRole NAME AGE default-weblogic-operator-clusterrole-domain-admin 3s default-weblogic-operator-clusterrole-general 3s default-weblogic-operator-clusterrole-namespace 3s default-weblogic-operator-clusterrole-nonresource 3s default-weblogic-operator-clusterrole-operator-admin 3s ==> v1/ClusterRoleBinding ・・・(略) ==> v1/ConfigMap NAME DATA AGE weblogic-operator-cm 2 3s ==> v1/Pod(related) NAME READY STATUS RESTARTS AGE weblogic-operator-8569c6cb4f-fwwfs 1/1 Running 0 2s ==> v1/Role NAME AGE weblogic-operator-role 3s ==> v1/RoleBinding NAME AGE weblogic-operator-rolebinding 3s weblogic-operator-rolebinding-namespace 3s ==> v1/Secret NAME TYPE DATA AGE weblogic-operator-secrets Opaque 0 4s ==> v1/Service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE internal-weblogic-operator-svc ClusterIP 10.96.46.40 <none> 8082/TCP 2s ==> v1beta1/Deployment NAME READY UP-TO-DATE AVAILABLE AGE weblogic-operator 1/1 1 1 2s $ helm install weblogic-operator/weblogic-operator --name weblogic-operator
  • 43. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. WebLogic Server Podの障害時自動復旧 • WebLogic OperatorはDomainカスタムリソースに定義された構成を 常に維持しようとする • 障害等でPodが減少すると、それを検知して自動再作成を行う – Operatorが障害を検知、Podをステートを持った状態で立ち上げ 43 オペレーション不要でコンテナ障害時から自動復旧 WebLogic Operator Managed Server Wo Admin Server WebLogic Cluster etcdAPI Server D Domain keep Pod x 2の状態を維持
  • 44. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. メトリック収集 WebLogic Serverクラスタの自動スケーリング • Prometheusアラートアクションを使用した自動スケーリング – PrometheusがWebLogic Serverのメトリックデータ(MBean)を監視し、指定した条件を 超えた場合にスケーリングする 44 運用・管理コストの削減/可用性の向上 WebLogic Operator Managed Server Wo Prometheus Admin Server webhook Server Prometheus Alert mangerPa WebLogic Cluster new WebLogic Monitoring Exporter
  • 45. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Demo Oracle WebLogic Serverクラスタ on Kubernetes Prometheusを利用した動的スケールアウト 45
  • 46. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. CERN(欧州原子核研究機構)で検証利用されている 46
  • 47. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. まとめ 47
  • 48. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. まとめ • KubernetesとOperatorの併用により、アプリケーションまで含めた 運用の自動化を実現することができる – Kubernetesの登場により、大量のコンテナの管理を自動化し、停止時間の短縮や 運用作業の効率化が可能 – OperatorはKubernetesの標準機能だけでは実現できないソフトウェア固有の運用作業 (バックアップ・リストア、クラスタの作成等) を自動化するソフトウェア エンタープライズシステムを運用自動化し、 ビジネスに求められるスピード、品質を実現する 48
  • 49. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 本日のキーワード: Kubernetes Operator Kubernetesを拡張し、システムの運用自動化を実現するソフトウェア 49
  • 50. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 50
  • 51. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 51