SlideShare une entreprise Scribd logo
1  sur  47
Introduction to Magnum
NEC Solution Innovators,
OpenStack Community Team
目次
• 私は誰?
• Magnum とは?
• Magnum の使い方
• アーキテクチャ
• 開発環境
• デモ
私は誰?
5 © NEC Corporation 2015
私は誰?
▌Motohiro/Yuanying Otsuka
Twitter @yuanying
http://www.fraction.jp
▌NEC ソリューションイノベータ
OpenStack コミュニティ対応チーム
▌OpenStack コミュニティ
Magnum コア開発者 (2014/12/31~)
▌言語
Ruby (2007~)
Python (2014~)
▌趣味
ロードバイク (2009~)
トライアスロン (2010~)
6 © NEC Corporation 2015
趣味: ロードバイク沼 (2009 – 2015)
Colnago em Willier La Triestina Bianchi Via Nirone Cervelo S1
Cervelo Soloist Carbon Cannondale CAAD9 Cervelo P3 Cervelo Super Prodigy
Cervelo P4 Cervelo S5 Team Speedvagen CX Team Speedvagen Road
7 © NEC Corporation 2015
当社 OpenStack コミュニティ対応チーム
▌グループ員
日本人開発者 5名
中国人開発者 1名
インド人開発者 3名
▌OpenStack コア開発者
Nova 1名
Tempest 3名
Magnum 2名 1名
Ironic-inspector 1名
Senlin 1名
8 © NEC Corporation 2015
OpenStack との関わり
▌2011/10
Cloud Foundry の調査業務
• OpenStack 上にて Cloud Foundry の構築。
▌2014/06
グループ方針として Cloud Foundry から戦略的撤退
• 昨今の Cloud Foundry の盛り上がりを見ると、なぜこの時期に撤退したのか意味不明。
▌2014/07
OpenStack コミュニティ対応チームに配属
• Python? なにそれ。
• コミュニティの人間関係その他さっぱりわからない状態。
TripleO の調査
▌2014/11
Magnum の調査・開発
▌2014/12
Magnum コア開発者
9 © NEC Corporation 2015
OpenStack との関わり
17:47 yuanying: at least one hour.
17:47 sdake: think I am unblocked and have stack working
17:47 sdake: so I'll start tackling the baremetal launch
17:47 yuanying: using larks/kube?
17:48 yuanying: if you have heat-template
knowledge, I think its easy.
17:48 sdake: I was ptl of heat for 3 cycles
17:48 sdake: led team that wrote heat initially
17:48 sdake: fairly well versed ;-)
17:48 yuanying: really??
17:48 sdake: yup
17:49 yuanying: cool
17:49 sdake: thanks :)
Magnum とは?
11 © NEC Corporation 2015
関連技術 -- Docker
Docker Engine
▌ コンテナ型仮想化ソフトウェア
 Namespace
• マウント名前空間、PID名前空間、ユーザ名前空間 …
 cgroup
• cpu, memory, devices …
 chroot
• ディレクトリの隔離
 netns
• ネットワークの隔離
▌ アプリケーションのポータビリティ
 Write Once, Run Anywhere !
 Docker コンテナ = アプリケーション + 実行環境
これらの Linux がもとも
と持っていた技術を組みわ
せて利用している。
テスト環境
実行環境
App
library 1
library 2
ステージング環境
実行環境
App
library 1
library 2
商用環境
実行環境
App
library 1
library 2
12 © NEC Corporation 2015
関連技術 – コンテナ管理
Kubernetes
▌複数ホストに配備された Docker コンテナをどう管理するか?
コンテナをどこに配備するべきか?(スケジューリング)
配備したコンテナはどのホストにいるのか?
コンテナ間の連携は?
• アプリケーションコンテナはデータベースコンテナがどこに配備されたのかを知りたい。
コンテナのオートスケールはどう対応する?
13 © NEC Corporation 2015
Magnum とは
▌2013/11
OpenStack におけるコンテナ対応について言及
▌2014/08
コンテナ API に関するドラフト
• https://etherpad.openstack.org/p/openstack-containers-service-api
Nova にてコンテナ対応 API にて提案
• https://review.openstack.org/#/c/114044
▌2014/11
OpenStack Summit Paris のデザインサミットにて Magnum プロジェクトが始動
NEC の OpenStack 対応チームが Magnum にジョイン
▌2014/12
NEC からコア開発者が選出
▌2015/03
Magnum が OpenStack プロジェクトに昇格
▌2015/05
OpenStack Summit Vancouver にて次期 Experimental プロジェクトとして Magnum
がKeynoteにて紹介
14 © NEC Corporation 2015
Magnum とは
▌Container as a Service ??
Magnum 当初の提案されたスペック
• Nova と同じように Compute Host を配備、magnum-
agent が container を管理。
– magnum から直接 container を制御
– Container as a Service !!
15 © NEC Corporation 2015
Magnum とは
▌現状: Container Orchestration Tools Installation as a Service
Kubernetes / Swarm などのコンテナ管理システムのインストレーションサービス。
• 例えばデータベースでいう Trove の位置付け。
• gcloud の container サブコマンド相当。
Kubernetes / Swarm のクラスターを管理する。
• Kubernetes / Swarm のクラスターを 「Bay」 と呼ぶ。
ユーザーテナント
Bay (Kubernetes Type)
Kubernetes
Master
Kubernetes
Minion 1
Kubernetes
Minion 2
Service
Pod Pod
Replication
Controller Pod
Container Container
Container Container
Container Container
Bay (Swarm Type)
Swarm
Master Docker Node 2
Container Container Container Container
Container Container Container Container
Container Container Container Container
Container Container Container Container
Docker Node 1
Container Container Container Container
Container Container Container Container
Container Container Container Container
Container Container Container Container
Magnum
Kubernetes Type
Baymodel
image: fedora-atomic
keypair: my_public_key
external-network: $NIC_ID
dns-nameserver: 8.8.8.8
flavor: baremetal
type-of-bay: kubernetes
Swarm Type
Baymodel
image: fedora-atomic
keypair: my_public_key
external-network: $NIC_ID
dns-nameserver: 8.8.8.8
flavor: baremetal
type-of-bay: swarm
16 © NEC Corporation 2015
Magnum でなにができるのか?
▌プロダクションユース可能な Kunernetes クラスターの管理 (予定)
そもそもプロダクションユース可能って何、という話はありますが…。
優先度は低いが、Docker-Swarm の管理も可能。
▌コンテナ管理のアブストラクションレイヤー提供 (予定)
Pod/Service/ReplicationController などの Kubernetes リソースを抽象化?
現状は場当たり的な実装があるのみ、しかも Kubernetes にしか対応していない。
17 © NEC Corporation 2015
当チームにおける Magnum に対する貢献
▌Bay 実装の First cut を担当
Heat を利用したアーキテクチャの提案および実装
はじめて通った magnum bay-create コマンド
▌Ironic サポート
しかし現在、絶賛デグレード中…
▌Python Kubernetes Client
Swagger のスペックからクライアントを生成
、、しかし動かないので手作業で修正。。
▌TLS-Auth
Magnum でインストールされた k8s/swarm クラスターへの認証に利用。
Magnum の使い方
19 © NEC Corporation 2015
Swarm TypeKubernetes Type
Magnum の管理するリソース
▌Baymodel
▌Bay
Kubernetes Type Bay
Swarm Type Bay
▌Kubernetes Type Bay
Service
ReplicationController
Pod
▌Swarm Type Bay
Container
Bay
Baymodel
Pod Service ContainerRC
20 © NEC Corporation 2015
使い方
1. Baymodel の作成
Bay のテンプレート。
Bay 構築時に共通で使うパラメータをまとめておく。
2. Bay の作成
Bay (Kubernetes Cluster)
Baymodel と名前の指定。
3. Pod の作成
1. Magnum Client を利用
2. Native Client を利用
• Kubernetes 利用時の認証の設定。
– TLS Auth 用 Private Key / Cert ファイルの取得。
– TLS Auth 用 CA Cert の取得。
21 © NEC Corporation 2015
使い方: Baymodel の作成
# Baymodel の作成
$ magnum baymodel-create --name kubernetes 
--image-id fedora-21-atomic-5 
--keypair-id default 
--external-network-id public 
--dns-nameserver 8.8.8.8 --flavor-id m1.small 
--docker-volume-size 5 --coe kubernetes
22 © NEC Corporation 2015
閑話休題: Baymodel の (よく分からない) パラメータ
パラメータ 用途
--fixed-network Cluster が利用するプライベートネットワークのネット
ワークアドレス。ex: 10.0.0.0/24
--network-driver コンテナのネットワークで利用されるネットワークドラ
イバー。k8s: flannel, swarm: docker がデフォルト。
--ssh-authorized-key クラスターのホストOSが coreos の場合に、ユーザが
ssh でログインするための public key を指定。
--tls-disabled Bay の TLS Auth を無効化する。
23 © NEC Corporation 2015
使い方: Bay (Kubernetes Cluster) の作成
# Bay の作成
$ magnum bay-create --name k8sbay 
--baymodel kubernetes 
--node-count 2 
--master-count 2
24 © NEC Corporation 2015
使い方: Pod/Service の作成 (magnum client 利用)
25 © NEC Corporation 2015
使い方: Pod の作成 (magnum client 利用)
# あらかじめ Kubernetes をダウンロードし、example を入手
$ cd ~/kubernetes/examples/redis/v1beta3/
# Pod の作成
$ magnum pod-create --manifest ./redis-master.yaml 
--bay k8sbay
26 © NEC Corporation 2015
使い方: Pod の作成 (native client 利用)
27 © NEC Corporation 2015
使い方: Pod の作成 (native client 利用) (1)
# あらかじめ kubectl をインストールしておく。
# api_address の値をメモ
$ magnum bay-show k8sbay
+----------------+------------------------------------------------------------+
| Property | Value |
+----------------+------------------------------------------------------------+
| status | CREATE_COMPLETE |
| uuid | d332bb21-e47a-49bb-bfa5-a4f1df60c51f |
| created_at | 2015-08-04T06:17:16+00:00 |
| updated_at | 2015-08-04T06:18:53+00:00 |
| api_address | https://192.168.19.92:8080 |
| baymodel_id | 9df7e273-374d-4e5c-9588-7c54aed1fb91 |
| node_count | None |
| node_addresses | [u'192.168.19.94'] |
| status_reason | Stack CREATE completed successfully |
| discovery_url | https://discovery.etcd.io/95a6db244e0bd14774757d88f2c5d412 |
| name | k8sbay |
+----------------+------------------------------------------------------------+
28 © NEC Corporation 2015
使い方: Pod の作成 (native client 利用) (2)
# TLS-Auth 用の Certificate を入手
# 1. private key の作成
$ openssl genrsa -out client.key 4096
# 2. csr の作成
$ cat > client.conf << END
[req]
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no
[req_distinguished_name]
CN = Your Name
[req_ext]
extendedKeyUsage = clientAuth
END
$ openssl req -new -days 365 
-config client.conf 
-key client.key 
-out client.csr
`gcloud container cluster` では
隠蔽されている作業を手作業で行
わなければならない。
29 © NEC Corporation 2015
使い方: Pod の作成 (native client 利用) (3)
# 3. client certificate の要求
$ magnum ca-sign --bay secure-k8sbay 
--csr client.csr >
client.crt
# 4. CA cert の要求
$ magnum ca-show --bay secure-k8sbay > ca.crt
# 5. Pod の作成
$ kubectl create -f redis-master.yaml 
--certificate-authority=ca.crt 
--client-key=client.key 
--client-certificate=client.crt 
-s https://192.168.19.92:8080
# https://blueprints.launchpad.net/magnum/+spec/client-
tls-auth-configuration
アーキテクチャ
31 © NEC Corporation 2015
アーキテクチャ
magnum_conductor
k8s_conductor
bay_conductor
magnum_api
heat
neutron
neutron
LBaaS
glance cinder
TemplateDefinition
k8s_template_definition
swarm_template_definition
Bay (k8s)
k8s
master
k8s
minion
Pod
Container Container
Pod
Container Container
Pod
Container Container
python
k8s_client
Barbican
nova
bay Pod… CA
32 © NEC Corporation 2015
アーキテクチャ (Bay管理時)
magnum_conductor
bay_conductor
magnum_api
heat
neutron
neutron
LBaaS
glance cinder
TemplateDefinition
k8s_template_definition
swarm_template_definition
Bay (k8s)
k8s
master
k8s
minion
Pod
Container Container
Pod
Container Container
Pod
Container Container
Barbican
nova
k8s
heat
template
Parameters
bay Pod… CA
cert
cert
REST API 提供
1. Bay
2. k8s resources
3. CA
1. Heat に Stack の生成を要求
2. データベースにデータを保存
ユーザの要求(baymodel) に従っ
て Heat のテンプレート及びパラ
メータを生成
k8s の TLS 接続に利用する Key
の管理 Bay 構築のために必要な
OpenStack リソースの生成
cloud-init を利用した
Kubernetes クラスターの設定
33 © NEC Corporation 2015
34 © NEC Corporation 2015
アーキテクチャ (K8S リソース管理時)
magnum_conductor
k8s_conductor
magnum_api
Bay (k8s)
k8s
master
k8s
minion
Pod
Container Container
Pod
Container Container
Pod
Container Container
python
k8s_client
開発環境
36 © NEC Corporation 2015
開発環境
devstack
nova
neutron
heat
neutron-lbaas
barbican
ceilometer
magnum
magnum-api
magnum-conductor
192.168.11.0/24
197 198
devstack は構築済みとし、
Magnum を別ノードに構築する。
37 © NEC Corporation 2015
開発環境のセットアップ
https://gist.github.com/yuanying/f27cef22738acf8b1db5
1. 依存パッケージのインストール
2. magnum, python-magnumclient のインストール
3. magnumの設定
4. データベースの作成
5. magnum の起動
6. keystone への登録
7. イメージの登録
8. keypair の登録
38 © NEC Corporation 2015
開発環境のセットアップ (1) – 依存パッケージのインストール
$ sudo apt-get install libffi-dev libssl-dev git vim build-essential 
libxml2-dev libsqlite3-dev libxslt1-dev
python-dev libmysqlclient-dev –y
$ curl -s https://bootstrap.pypa.io/get-pip.py | sudo python
$ sudo pip install virtualenv flake8 tox testrepository git-review
39 © NEC Corporation 2015
開発環境のセットアップ (2) – magnum, magumclient
$ cd ~
$ git clone https://github.com/openstack/magnum.git
$ cd magnum
# 以下コマンドで依存ライブラリおよびMagnumが
# ~/magnum/.tox/venv にインストールされる。
$ tox -evenv -- echo 'done’
$ cd ~
$ git clone https://github.com/openstack/python-magnumclient.git
$ cd python-magnumclient
$ tox -evenv -- echo 'done'
40 © NEC Corporation 2015
開発環境のセットアップ (3) – magnum の設定
$ cat > ~/magnum/etc/magnum/magnum.conf << END
[DEFAULT]
rabbit_userid=stackrabbit
rabbit_password = stackqueue
rabbit_hosts = 192.168.11.197
rpc_backend = rabbit
[database]
connection = mysql://root:stackdb@192.168.11.197/magnum
[keystone_authtoken]
admin_password = openstack
admin_user = nova
admin_tenant_name = service
identity_uri = http://192.168.11.197:35357
auth_uri=http://192.168.11.197:5000/v3
END
41 © NEC Corporation 2015
開発環境のセットアップ (4) – データベースの作成
# データベースの作成
$ mysql -h 192.168.11.197 -u root -pstackdb mysql <<EOF
CREATE DATABASE IF NOT EXISTS magnum DEFAULT CHARACTER
SET utf8;
EOF
# テーブルの生成
$ cd ~/magnum
$ source .tox/venv/bin/activate
$ pip install mysql-python
$ magnum-db-manage --config-dir etc/magnum/ upgrade
42 © NEC Corporation 2015
開発環境のセットアップ (5) – magnum の起動
# magnum-api
$ cd ~/magnum
$ source .tox/venv/bin/activate
$ magnum-api --config-dir etc/magnum/
# magnum-conductor
$ cd ~/magnum
$ source .tox/venv/bin/activate
$ magnum-api --config-dir etc/magnum/
43 © NEC Corporation 2015
開発環境のセットアップ (6) – keystone への登録
# devstack のホストにて
$ export HOST_IP=192.168.11.197
$ source ~/devstack/openrc admin admin
$ keystone service-create --name=magnum 
--type=container 
--description="Magnum Container Service"
$ keystone endpoint-create --service=magnum 
--publicurl=http://192.168.11.198:9511/v1 
--internalurl=http://192.168.11.198:9511/v1 
--adminurl=http://192.168.11.198:9511/v1 
--region RegionOne
44 © NEC Corporation 2015
開発環境のセットアップ (7) – イメージの登録
# devstack のホストにて
$ source ~/devstack/openrc admin admin
$ wget https://fedorapeople.org/groups/magnum/fedora-21-atomic-
5.qcow2
$ glance image-create --name fedora-21-atomic-5 
--is-public True 
--disk-format qcow2 
--property os_distro='fedora-atomic'
--container-format bare 
< fedora-21-atomic-3.qcow2
45 © NEC Corporation 2015
開発環境のセットアップ (8) – keypairの登録
# devstack のホストにて
$ source ~/devstack/openrc demo demo
$ ssh-keygen
$ nova keypair-add --pub-key ~/.ssh/id_rsa.pub testkey
デモ
Introduction to Magnum (JP)

Contenu connexe

Tendances

kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドMasanori Nara
 
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11Masaya Aoyama
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜Masaya Aoyama
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたAkihito Inoh
 
Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Yu Amano
 
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1Masaya Aoyama
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎Daisuke Hiraoka
 
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視についてMasaya Aoyama
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...VirtualTech Japan Inc.
 
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)Masaya Aoyama
 
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったことOpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったことMasaya Aoyama
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようShingo Omura
 
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)Akihiro Suda
 
Dockerの利用事例
Dockerの利用事例Dockerの利用事例
Dockerの利用事例maebashi
 
サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術
サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術
サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術Masaya Aoyama
 
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話Kazuto Kusama
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
RootlessコンテナAkihiro Suda
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立Kohsuke Kawaguchi
 
Gcpでdocker
GcpでdockerGcpでdocker
Gcpでdockerkoda3
 

Tendances (20)

kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
 
Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)
 
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
 
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視について
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
 
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
 
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったことOpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみよう
 
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
 
Dockerの利用事例
Dockerの利用事例Dockerの利用事例
Dockerの利用事例
 
サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術
サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術
サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術
 
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立
 
Gcpでdocker
GcpでdockerGcpでdocker
Gcpでdocker
 

En vedette

Openstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-ServiceOpenstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-ServiceChhavi Agarwal
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)Ikuo Kumagai
 
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingBukhary Ikhwan Ismail
 
Advertising Magnum Ice Cream Presentation
Advertising Magnum Ice Cream PresentationAdvertising Magnum Ice Cream Presentation
Advertising Magnum Ice Cream PresentationManda Goldberg
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみたYasuhiro Yoshimura
 
Walls Magnum Marketing Report
Walls Magnum Marketing ReportWalls Magnum Marketing Report
Walls Magnum Marketing ReportZain Ali
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説Toru Makabe
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Emma Haruka Iwao
 
OpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - MasakariOpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - Masakarimasahito12
 

En vedette (11)

Openstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-ServiceOpenstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-Service
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)
 
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
 
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing
 
Advertising Magnum Ice Cream Presentation
Advertising Magnum Ice Cream PresentationAdvertising Magnum Ice Cream Presentation
Advertising Magnum Ice Cream Presentation
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
Walls Magnum Marketing Report
Walls Magnum Marketing ReportWalls Magnum Marketing Report
Walls Magnum Marketing Report
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
OpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - MasakariOpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - Masakari
 

Similaire à Introduction to Magnum (JP)

TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理Yuki Yamashita
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengewhywaita
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)NTT DATA Technology & Innovation
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜Shuji Yamada
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性Hirofumi Ichihara
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会samemoon
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門Yuto Takei
 
K8s install (single cluster)
K8s install (single cluster)K8s install (single cluster)
K8s install (single cluster)Masayuki Ozawa
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会samemoon
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとはKoto Shigeru
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術までAkihiro Suda
 
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 KnativeMasahito Zembutsu
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Takashi Kanai
 
Build Windows ラップアップ
Build Windows ラップアップBuild Windows ラップアップ
Build Windows ラップアップSunao Tomita
 
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
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetupru pic
 

Similaire à Introduction to Magnum (JP) (20)

TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
K8s install (single cluster)
K8s install (single cluster)K8s install (single cluster)
K8s install (single cluster)
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 
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
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
Build Windows ラップアップ
Build Windows ラップアップBuild Windows ラップアップ
Build Windows ラップアップ
 
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 発表資料)
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetup
 

Dernier

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Dernier (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Introduction to Magnum (JP)

  • 1. Introduction to Magnum NEC Solution Innovators, OpenStack Community Team
  • 2.
  • 3. 目次 • 私は誰? • Magnum とは? • Magnum の使い方 • アーキテクチャ • 開発環境 • デモ
  • 5. 5 © NEC Corporation 2015 私は誰? ▌Motohiro/Yuanying Otsuka Twitter @yuanying http://www.fraction.jp ▌NEC ソリューションイノベータ OpenStack コミュニティ対応チーム ▌OpenStack コミュニティ Magnum コア開発者 (2014/12/31~) ▌言語 Ruby (2007~) Python (2014~) ▌趣味 ロードバイク (2009~) トライアスロン (2010~)
  • 6. 6 © NEC Corporation 2015 趣味: ロードバイク沼 (2009 – 2015) Colnago em Willier La Triestina Bianchi Via Nirone Cervelo S1 Cervelo Soloist Carbon Cannondale CAAD9 Cervelo P3 Cervelo Super Prodigy Cervelo P4 Cervelo S5 Team Speedvagen CX Team Speedvagen Road
  • 7. 7 © NEC Corporation 2015 当社 OpenStack コミュニティ対応チーム ▌グループ員 日本人開発者 5名 中国人開発者 1名 インド人開発者 3名 ▌OpenStack コア開発者 Nova 1名 Tempest 3名 Magnum 2名 1名 Ironic-inspector 1名 Senlin 1名
  • 8. 8 © NEC Corporation 2015 OpenStack との関わり ▌2011/10 Cloud Foundry の調査業務 • OpenStack 上にて Cloud Foundry の構築。 ▌2014/06 グループ方針として Cloud Foundry から戦略的撤退 • 昨今の Cloud Foundry の盛り上がりを見ると、なぜこの時期に撤退したのか意味不明。 ▌2014/07 OpenStack コミュニティ対応チームに配属 • Python? なにそれ。 • コミュニティの人間関係その他さっぱりわからない状態。 TripleO の調査 ▌2014/11 Magnum の調査・開発 ▌2014/12 Magnum コア開発者
  • 9. 9 © NEC Corporation 2015 OpenStack との関わり 17:47 yuanying: at least one hour. 17:47 sdake: think I am unblocked and have stack working 17:47 sdake: so I'll start tackling the baremetal launch 17:47 yuanying: using larks/kube? 17:48 yuanying: if you have heat-template knowledge, I think its easy. 17:48 sdake: I was ptl of heat for 3 cycles 17:48 sdake: led team that wrote heat initially 17:48 sdake: fairly well versed ;-) 17:48 yuanying: really?? 17:48 sdake: yup 17:49 yuanying: cool 17:49 sdake: thanks :)
  • 11. 11 © NEC Corporation 2015 関連技術 -- Docker Docker Engine ▌ コンテナ型仮想化ソフトウェア  Namespace • マウント名前空間、PID名前空間、ユーザ名前空間 …  cgroup • cpu, memory, devices …  chroot • ディレクトリの隔離  netns • ネットワークの隔離 ▌ アプリケーションのポータビリティ  Write Once, Run Anywhere !  Docker コンテナ = アプリケーション + 実行環境 これらの Linux がもとも と持っていた技術を組みわ せて利用している。 テスト環境 実行環境 App library 1 library 2 ステージング環境 実行環境 App library 1 library 2 商用環境 実行環境 App library 1 library 2
  • 12. 12 © NEC Corporation 2015 関連技術 – コンテナ管理 Kubernetes ▌複数ホストに配備された Docker コンテナをどう管理するか? コンテナをどこに配備するべきか?(スケジューリング) 配備したコンテナはどのホストにいるのか? コンテナ間の連携は? • アプリケーションコンテナはデータベースコンテナがどこに配備されたのかを知りたい。 コンテナのオートスケールはどう対応する?
  • 13. 13 © NEC Corporation 2015 Magnum とは ▌2013/11 OpenStack におけるコンテナ対応について言及 ▌2014/08 コンテナ API に関するドラフト • https://etherpad.openstack.org/p/openstack-containers-service-api Nova にてコンテナ対応 API にて提案 • https://review.openstack.org/#/c/114044 ▌2014/11 OpenStack Summit Paris のデザインサミットにて Magnum プロジェクトが始動 NEC の OpenStack 対応チームが Magnum にジョイン ▌2014/12 NEC からコア開発者が選出 ▌2015/03 Magnum が OpenStack プロジェクトに昇格 ▌2015/05 OpenStack Summit Vancouver にて次期 Experimental プロジェクトとして Magnum がKeynoteにて紹介
  • 14. 14 © NEC Corporation 2015 Magnum とは ▌Container as a Service ?? Magnum 当初の提案されたスペック • Nova と同じように Compute Host を配備、magnum- agent が container を管理。 – magnum から直接 container を制御 – Container as a Service !!
  • 15. 15 © NEC Corporation 2015 Magnum とは ▌現状: Container Orchestration Tools Installation as a Service Kubernetes / Swarm などのコンテナ管理システムのインストレーションサービス。 • 例えばデータベースでいう Trove の位置付け。 • gcloud の container サブコマンド相当。 Kubernetes / Swarm のクラスターを管理する。 • Kubernetes / Swarm のクラスターを 「Bay」 と呼ぶ。 ユーザーテナント Bay (Kubernetes Type) Kubernetes Master Kubernetes Minion 1 Kubernetes Minion 2 Service Pod Pod Replication Controller Pod Container Container Container Container Container Container Bay (Swarm Type) Swarm Master Docker Node 2 Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container Docker Node 1 Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container Magnum Kubernetes Type Baymodel image: fedora-atomic keypair: my_public_key external-network: $NIC_ID dns-nameserver: 8.8.8.8 flavor: baremetal type-of-bay: kubernetes Swarm Type Baymodel image: fedora-atomic keypair: my_public_key external-network: $NIC_ID dns-nameserver: 8.8.8.8 flavor: baremetal type-of-bay: swarm
  • 16. 16 © NEC Corporation 2015 Magnum でなにができるのか? ▌プロダクションユース可能な Kunernetes クラスターの管理 (予定) そもそもプロダクションユース可能って何、という話はありますが…。 優先度は低いが、Docker-Swarm の管理も可能。 ▌コンテナ管理のアブストラクションレイヤー提供 (予定) Pod/Service/ReplicationController などの Kubernetes リソースを抽象化? 現状は場当たり的な実装があるのみ、しかも Kubernetes にしか対応していない。
  • 17. 17 © NEC Corporation 2015 当チームにおける Magnum に対する貢献 ▌Bay 実装の First cut を担当 Heat を利用したアーキテクチャの提案および実装 はじめて通った magnum bay-create コマンド ▌Ironic サポート しかし現在、絶賛デグレード中… ▌Python Kubernetes Client Swagger のスペックからクライアントを生成 、、しかし動かないので手作業で修正。。 ▌TLS-Auth Magnum でインストールされた k8s/swarm クラスターへの認証に利用。
  • 19. 19 © NEC Corporation 2015 Swarm TypeKubernetes Type Magnum の管理するリソース ▌Baymodel ▌Bay Kubernetes Type Bay Swarm Type Bay ▌Kubernetes Type Bay Service ReplicationController Pod ▌Swarm Type Bay Container Bay Baymodel Pod Service ContainerRC
  • 20. 20 © NEC Corporation 2015 使い方 1. Baymodel の作成 Bay のテンプレート。 Bay 構築時に共通で使うパラメータをまとめておく。 2. Bay の作成 Bay (Kubernetes Cluster) Baymodel と名前の指定。 3. Pod の作成 1. Magnum Client を利用 2. Native Client を利用 • Kubernetes 利用時の認証の設定。 – TLS Auth 用 Private Key / Cert ファイルの取得。 – TLS Auth 用 CA Cert の取得。
  • 21. 21 © NEC Corporation 2015 使い方: Baymodel の作成 # Baymodel の作成 $ magnum baymodel-create --name kubernetes --image-id fedora-21-atomic-5 --keypair-id default --external-network-id public --dns-nameserver 8.8.8.8 --flavor-id m1.small --docker-volume-size 5 --coe kubernetes
  • 22. 22 © NEC Corporation 2015 閑話休題: Baymodel の (よく分からない) パラメータ パラメータ 用途 --fixed-network Cluster が利用するプライベートネットワークのネット ワークアドレス。ex: 10.0.0.0/24 --network-driver コンテナのネットワークで利用されるネットワークドラ イバー。k8s: flannel, swarm: docker がデフォルト。 --ssh-authorized-key クラスターのホストOSが coreos の場合に、ユーザが ssh でログインするための public key を指定。 --tls-disabled Bay の TLS Auth を無効化する。
  • 23. 23 © NEC Corporation 2015 使い方: Bay (Kubernetes Cluster) の作成 # Bay の作成 $ magnum bay-create --name k8sbay --baymodel kubernetes --node-count 2 --master-count 2
  • 24. 24 © NEC Corporation 2015 使い方: Pod/Service の作成 (magnum client 利用)
  • 25. 25 © NEC Corporation 2015 使い方: Pod の作成 (magnum client 利用) # あらかじめ Kubernetes をダウンロードし、example を入手 $ cd ~/kubernetes/examples/redis/v1beta3/ # Pod の作成 $ magnum pod-create --manifest ./redis-master.yaml --bay k8sbay
  • 26. 26 © NEC Corporation 2015 使い方: Pod の作成 (native client 利用)
  • 27. 27 © NEC Corporation 2015 使い方: Pod の作成 (native client 利用) (1) # あらかじめ kubectl をインストールしておく。 # api_address の値をメモ $ magnum bay-show k8sbay +----------------+------------------------------------------------------------+ | Property | Value | +----------------+------------------------------------------------------------+ | status | CREATE_COMPLETE | | uuid | d332bb21-e47a-49bb-bfa5-a4f1df60c51f | | created_at | 2015-08-04T06:17:16+00:00 | | updated_at | 2015-08-04T06:18:53+00:00 | | api_address | https://192.168.19.92:8080 | | baymodel_id | 9df7e273-374d-4e5c-9588-7c54aed1fb91 | | node_count | None | | node_addresses | [u'192.168.19.94'] | | status_reason | Stack CREATE completed successfully | | discovery_url | https://discovery.etcd.io/95a6db244e0bd14774757d88f2c5d412 | | name | k8sbay | +----------------+------------------------------------------------------------+
  • 28. 28 © NEC Corporation 2015 使い方: Pod の作成 (native client 利用) (2) # TLS-Auth 用の Certificate を入手 # 1. private key の作成 $ openssl genrsa -out client.key 4096 # 2. csr の作成 $ cat > client.conf << END [req] distinguished_name = req_distinguished_name req_extensions = req_ext prompt = no [req_distinguished_name] CN = Your Name [req_ext] extendedKeyUsage = clientAuth END $ openssl req -new -days 365 -config client.conf -key client.key -out client.csr `gcloud container cluster` では 隠蔽されている作業を手作業で行 わなければならない。
  • 29. 29 © NEC Corporation 2015 使い方: Pod の作成 (native client 利用) (3) # 3. client certificate の要求 $ magnum ca-sign --bay secure-k8sbay --csr client.csr > client.crt # 4. CA cert の要求 $ magnum ca-show --bay secure-k8sbay > ca.crt # 5. Pod の作成 $ kubectl create -f redis-master.yaml --certificate-authority=ca.crt --client-key=client.key --client-certificate=client.crt -s https://192.168.19.92:8080 # https://blueprints.launchpad.net/magnum/+spec/client- tls-auth-configuration
  • 31. 31 © NEC Corporation 2015 アーキテクチャ magnum_conductor k8s_conductor bay_conductor magnum_api heat neutron neutron LBaaS glance cinder TemplateDefinition k8s_template_definition swarm_template_definition Bay (k8s) k8s master k8s minion Pod Container Container Pod Container Container Pod Container Container python k8s_client Barbican nova bay Pod… CA
  • 32. 32 © NEC Corporation 2015 アーキテクチャ (Bay管理時) magnum_conductor bay_conductor magnum_api heat neutron neutron LBaaS glance cinder TemplateDefinition k8s_template_definition swarm_template_definition Bay (k8s) k8s master k8s minion Pod Container Container Pod Container Container Pod Container Container Barbican nova k8s heat template Parameters bay Pod… CA cert cert REST API 提供 1. Bay 2. k8s resources 3. CA 1. Heat に Stack の生成を要求 2. データベースにデータを保存 ユーザの要求(baymodel) に従っ て Heat のテンプレート及びパラ メータを生成 k8s の TLS 接続に利用する Key の管理 Bay 構築のために必要な OpenStack リソースの生成 cloud-init を利用した Kubernetes クラスターの設定
  • 33. 33 © NEC Corporation 2015
  • 34. 34 © NEC Corporation 2015 アーキテクチャ (K8S リソース管理時) magnum_conductor k8s_conductor magnum_api Bay (k8s) k8s master k8s minion Pod Container Container Pod Container Container Pod Container Container python k8s_client
  • 36. 36 © NEC Corporation 2015 開発環境 devstack nova neutron heat neutron-lbaas barbican ceilometer magnum magnum-api magnum-conductor 192.168.11.0/24 197 198 devstack は構築済みとし、 Magnum を別ノードに構築する。
  • 37. 37 © NEC Corporation 2015 開発環境のセットアップ https://gist.github.com/yuanying/f27cef22738acf8b1db5 1. 依存パッケージのインストール 2. magnum, python-magnumclient のインストール 3. magnumの設定 4. データベースの作成 5. magnum の起動 6. keystone への登録 7. イメージの登録 8. keypair の登録
  • 38. 38 © NEC Corporation 2015 開発環境のセットアップ (1) – 依存パッケージのインストール $ sudo apt-get install libffi-dev libssl-dev git vim build-essential libxml2-dev libsqlite3-dev libxslt1-dev python-dev libmysqlclient-dev –y $ curl -s https://bootstrap.pypa.io/get-pip.py | sudo python $ sudo pip install virtualenv flake8 tox testrepository git-review
  • 39. 39 © NEC Corporation 2015 開発環境のセットアップ (2) – magnum, magumclient $ cd ~ $ git clone https://github.com/openstack/magnum.git $ cd magnum # 以下コマンドで依存ライブラリおよびMagnumが # ~/magnum/.tox/venv にインストールされる。 $ tox -evenv -- echo 'done’ $ cd ~ $ git clone https://github.com/openstack/python-magnumclient.git $ cd python-magnumclient $ tox -evenv -- echo 'done'
  • 40. 40 © NEC Corporation 2015 開発環境のセットアップ (3) – magnum の設定 $ cat > ~/magnum/etc/magnum/magnum.conf << END [DEFAULT] rabbit_userid=stackrabbit rabbit_password = stackqueue rabbit_hosts = 192.168.11.197 rpc_backend = rabbit [database] connection = mysql://root:stackdb@192.168.11.197/magnum [keystone_authtoken] admin_password = openstack admin_user = nova admin_tenant_name = service identity_uri = http://192.168.11.197:35357 auth_uri=http://192.168.11.197:5000/v3 END
  • 41. 41 © NEC Corporation 2015 開発環境のセットアップ (4) – データベースの作成 # データベースの作成 $ mysql -h 192.168.11.197 -u root -pstackdb mysql <<EOF CREATE DATABASE IF NOT EXISTS magnum DEFAULT CHARACTER SET utf8; EOF # テーブルの生成 $ cd ~/magnum $ source .tox/venv/bin/activate $ pip install mysql-python $ magnum-db-manage --config-dir etc/magnum/ upgrade
  • 42. 42 © NEC Corporation 2015 開発環境のセットアップ (5) – magnum の起動 # magnum-api $ cd ~/magnum $ source .tox/venv/bin/activate $ magnum-api --config-dir etc/magnum/ # magnum-conductor $ cd ~/magnum $ source .tox/venv/bin/activate $ magnum-api --config-dir etc/magnum/
  • 43. 43 © NEC Corporation 2015 開発環境のセットアップ (6) – keystone への登録 # devstack のホストにて $ export HOST_IP=192.168.11.197 $ source ~/devstack/openrc admin admin $ keystone service-create --name=magnum --type=container --description="Magnum Container Service" $ keystone endpoint-create --service=magnum --publicurl=http://192.168.11.198:9511/v1 --internalurl=http://192.168.11.198:9511/v1 --adminurl=http://192.168.11.198:9511/v1 --region RegionOne
  • 44. 44 © NEC Corporation 2015 開発環境のセットアップ (7) – イメージの登録 # devstack のホストにて $ source ~/devstack/openrc admin admin $ wget https://fedorapeople.org/groups/magnum/fedora-21-atomic- 5.qcow2 $ glance image-create --name fedora-21-atomic-5 --is-public True --disk-format qcow2 --property os_distro='fedora-atomic' --container-format bare < fedora-21-atomic-3.qcow2
  • 45. 45 © NEC Corporation 2015 開発環境のセットアップ (8) – keypairの登録 # devstack のホストにて $ source ~/devstack/openrc demo demo $ ssh-keygen $ nova keypair-add --pub-key ~/.ssh/id_rsa.pub testkey

Notes de l'éditeur

  1. #本スライドの活用について NECグループのブランドステートメント「Orchestrating a brighter world」は、ステークホルダーへの約束として、NECグループの企業姿勢、実現したい世界観と、それに対する自らの「行動・能力」を表現したものです。 社外向け発信活動においては、必ず表紙の次ページに本スライドを挿入し、ブランドステートメントとともにどんなストーリーを展開するかを説明するように心掛けてください。 <セリフ例>----- 私たちNECグループは、お客さまや社会と共創して、社会価値を創造していきます。 人が生きる、豊かに生きる、そして明るい未来につなげていくために。 これをブランドステートメント「Orchestrating a brighter world」としました。 NECグループが目指しているこの方向性の中で、本日は、○○○を実現する具体的な取り組み(ソリューション、サービス、技術)についてご説明します。 ----------------- ※そのほか、言葉に込めた意味、マークデザインに込めた意味については、「NEC Brand Principles」で確認してください。