SlideShare a Scribd company logo
1 of 50
Download to read offline
Elastic Cloud on Kubernetes
(ECK)をOCPに入れてみた
@tetsuyasd
OpenShift Meetup Tokyo #05
2019/07/24
~OpenShiftあるある、なつらみ~
Who am I ?
2
名前: 惣道 哲也 (そうどう てつや)
Twitter: @tetsuyasd
所属: 日本ヒューレット・パッカード株式会社 Pointnext事業統括
職務: オープンソース関連いろいろ(調査、検証、構築、提案)
- Cloud / Container / Data Analytics / etc…
Elasticsearch実践ガイド(impress top gear)
インプレスより発売中
Agenda (40min)
3
1. Elastic Cloud on Kubernetes(ECK)とは何か?
2. Elasticsearchの概要
3. ECKをAKS(Azure k8s)に入れてみる
4. ECKをOCPに入れてみる
5. OCPにOperatorを入れる際の(たぶん)一般的な注意点
Operatorは最高だ~
1. Elastic Cloud on Kubernetes(ECK)
とは何か?
Elastic Cloud on Kubernetes(ECK)のリリース(2019/05/21)
– Kubernetes Operatorパターンに基づいた新しいプロダクト
– “Elasticライセンス”に基づいてソースコードも公開 (https://github.com/elastic/cloud-on-k8s)
– 現時点ではalphaリリースであり、GKEとvanilla Kubernetes version 1.11以降をサポート
9
■注意
本セッションでは、あくまでOperatorの利用方法や
仕組みを学ぶ目的でECKを試しております。
https://www.elastic.co/jp/blog/introducing-elastic-cloud-on-kubernetes-the-elasticsearch-operator-and-beyond
Elasticsearchのデプロイ方法いろいろ
–Elastic社が提供するもの
– Elastic Stack (Elasticsearch + Kibana + Logstash + Beats)
–Linux / MacOS / Windows
– Elastic Cloud (Managed Service)
–AWS / GCP
– コンテナ
–Docker Engine (docker / docker-compose)
–Helm Chart (beta)
–Elastic Cloud on Kubernetes (alpha)
–その他から提供されているもの
– Amazon Elasticsearch Service (Managed Service)
– Open Distro for Elasticsearch by AWS
10
★New★
ECKの提供する主な機能
– ElasticsearchクラスタとKibanaのデプロイと設定管理
– Elastic Stackの新しいバージョンへのアップグレード容易に
– クラスタのスケールアウト/スケールイン
– クラスタ設定・ノード設定の変更
– Persistent volumes / ローカルストレージの利用
– CronJobリソースを利用した定期的な自動スナップショット取得
– デフォルトで通信暗号化などのセキュア設定が有効化
11
https://www.elastic.co/jp/blog/introducing-elastic-cloud-on-kubernetes-the-elasticsearch-operator-and-beyond
ECKを用いた環境デプロイのざっくりイメージ (1/3)
① Elasticsearchクラスタデプロイ用yamlの作成
12
apiVersion:
elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
apiVersion: kibana.k8s.elastic.co/v1alpha1
kind: Kibana
metadata:
name: quickstart
spec:
version: 7.2.0
nodeCount: 1
elasticsearchRef:
name: quickstart
② Kibanaデプロイ用yamlの作成
CRDリソース
CRDリソース
$ oc apply –f my-es-cluster.yaml
elasticsearch.elasticsearch.k8s.elastic.co/quickstart
created
$ oc apply –f my-kibana.yaml
kibana.kibana.k8s.elastic.co/quickstart created
③ ElasticsearchとKibanaのデプロイ
ECKを用いた環境デプロイのざっくりイメージ (2/3)
④ リソースが作成される
13
[sodo@bastion01 eck]$ oc get all
NAME READY STATUS RESTARTS AGE
pod/quickstart-es-bp92fwgvvj 1/1 Running 0 3m2s
pod/quickstart-es-dctcm56pj6 1/1 Running 0 3m2s
pod/quickstart-es-dx48cjc4sp 1/1 Running 0 3m2s
pod/quickstart-kibana-67f5b76b74-bcgwg 1/1 Running 0 3m2s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/quickstart-es NodePort 172.30.104.195 <none> 9200:32489/TCP 3m3s
service/quickstart-es-discovery ClusterIP None <none> 9300/TCP 3m3s
service/quickstart-kibana NodePort 172.30.12.244 <none> 5601:32641/TCP 3m2s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/quickstart-kibana 1/1 1 1 3m2s
NAME DESIRED CURRENT READY AGE
replicaset.apps/quickstart-kibana-67f5b76b74 1 1 1 3m2s
3node cluster
kibana
ECKを用いた環境デプロイのざっくりイメージ (3/3)
14
⑤ Elasticsearchクラスタとそれに関連するKibanaへのアクセスが可能に
2. Elasticsearchの概要
Elasticsearchの簡単な紹介
– Javaベースの全文検索ソフトウェア
– JSONフォーマットに対応した柔軟性の高いドキュメント指向データベース
– インデックス登録・クエリともにREST APIインターフェースを利用
– 複数ノードからなるクラスタ構成が可能
– インデックスは分散配置(シャーディング)が可能
– レプリカ(複製)による高可用性の実現
– 可視化、ログ収集など周辺ソフトウェアが充実
16
Cluster
Node1 Node2 Node3
= Master node
Node4 Node5 Node6
Node7 Node8 Node9
type:
master
type:
data
type:
data
Elasticsearchのインデックス登録とクエリの例
– インデックス登録の例
17
$ curl -XPOST ’http://localhost:9200/my_index/_doc/’ -H ’Content-Type: application/json’ -d ’
{
"user": "kimchy",
"post_date": "2009-11-15T13:12:00",
"message": "Trying out Elasticsearch, so far so good?"
}’
$ curl -XGET ’http://localhost:9200/my_index/_search’ -H ’Content-Type: application/json’ -d ’
{
"query": {
"match": {
"message": "Elasticsearch"
}
}
}’
– クエリの例
複数のkey:valueからなる
任意のJSONドキュメント
特定のkeyに対して文字列
検索をした例
Elasticsearchのインデックス構成
– 登録するデータを「インデックス」として保存
– インデックスは複数の「シャード」から構成される
– インデックス作成時に任意のシャード数を設定できる
– シャードは設定した数だけ複製(「レプリカ」)される
– インデックス作成時に任意のレプリカ数を設定できる
18
Cluster
Node1 Node2 Node3
Primary
Shard #0
Primary
Shard #2
Replica
Shard #0
Replica
Shard #1
Primary
Shard #1
Replica
Shard #2
Elastic Stackファミリー
– Elasticsearch:検索データベース
– Kibana:可視化ツール
– Logstash:ログ加工・収集ツール
– Beats:軽量ログ収集ツール
19
Elastic Stack活用ユースケースの例
– アプリログ・インフラ基盤ログの収集・可視化・分析など
– この他にもユースケースパターンは多数あります
20
Elasticsearch
クエリ
Kibana
業務システム
ログ
ログストレージ
ログ保管
Logstash
インデックス
ログ収集
分析
3. ECKをAKS(Azure k8s)に入れてみる
利用したAKS環境のバージョンについて
–本発表で使用したAKS環境におけるソフトウェアバージョン
22
Component Version Notes
Azure Kubernetes Service (server version) 1.13.5
Azure CLI 2.0.68
Elastic Cloud on Kubernetes(ECK) 0.8.1 alpha release
ECKをAKSに入れる手順概要 (1/2)
–AKSをセットアップする(Azure CLI/kubectl利用)
– “az login”
– “az group create”
– “az network vnet create”
– “az aks create”
– “az aks get-credentials”
– “kubectl get nodes”
– ECK Operatorデプロイ
– “kubectl apply -f https://download.elastic.co/downloads/eck/0.8.1/all-in-one.yaml”
– Elasticsearchクラスタデプロイ
– “kubectl apply -f my-es-cluster.yaml”
– Kibanaデプロイ
– “kubectl apply -f my-kibana.yaml”
23
AKSクラスタ作成方法は
Appendixに手順を掲載
デプロイするyamlを任意に
記述してapplyする(後述)
ECKをAKSに入れる手順概要 (2/2)
– Elasticsearchクラスタデプロイ用yamlの例
(例: my-es-cluster.yaml)
24
apiVersion:
elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
apiVersion: kibana.k8s.elastic.co/v1alpha1
kind: Kibana
metadata:
name: quickstart
spec:
version: 7.2.0
nodeCount: 1
elasticsearchRef:
name: quickstart
– Kibanaデプロイ用yamlの例
(例: my-kibana.yaml)
CRDリソース
CRDリソース
$ kubectl apply -f https://download.elastic.co/downloads/eck/0.8.1/all-in-one.yaml
– ECK Operatorの導入
$ kubectl apply –f my-es-cluster.yaml
$ kubectl apply –f my-kibana.yaml
– よしなにデプロイ
4. ECKをOCPに入れてみる
利用したOCP環境のバージョンについて
–本発表で使用したOCP環境におけるソフトウェアバージョン
26
Component Version Notes
Red Hat OpenShift Container Platform 4.1.0 仮想環境上に構築
Red Hat Enterprise Linux CoreOS 410.8.20190520.0 Bootstrap / Master x3
Red Hat Enterprise Linux 7.6 Node x4
Elastic Cloud on Kubernetes(ECK) 0.8.1 alpha release
ECKをOCPにそのまま入れようとすると・・・
–OCPをセットアップする(省略)
–ECK Operatorデプロイ
–信頼と実績のocコマンド
27
_人人人人人_
> エラー <
 ̄Y^Y^Y^Y^Y^ ̄
AKSではすんなり入ったので”kubectl”を”oc”に
変えてとりあえず実行してみるか・・・
デプロイしたOperator Podが
エラーを吐いて死ぬのじゃ(後述)
$ oc apply -f https://download.elastic.co/downloads/eck/0.8.1/all-in-one.yaml
そのままではOCPには入らないので
ひと手間かけます
ECKをOCPに入れる手順概要(仮) (1/6)
① 事前準備:手動でnamespaceとservice accountを作っておき、事前にSCCのprivileged権限を付与しておく
28
$ oc create namespace elastic-system
namespace/elastic-system created
$ oc create serviceaccount elastic-operator -n elastic-system
serviceaccount/elastic-operator created
$ oc adm policy add-scc-to-user privileged -z elastic-operator
securitycontextconstraints.security.openshift.io/privileged added to:
["system:serviceaccount:openshift-ingress-operator:elastic-operator"]
② 事前準備:Operator導入用yamlをダウンロードする(内容の編集が必要なため)
$ wget https://download.elastic.co/downloads/eck/0.8.1/all-in-one.yaml
■注意:①~⑤まではClusterAdminで実行してください
※注意:権限付与はセキュリティリスクを伴うため常にコンテナイメージの安全性を確認してください
ECKをOCPに入れる手順概要(仮) (2/6)
③ 事前準備:ダウンロードしたall-in-one.yamlを編集する(赤枠の4か所・5行を追加)
29
- apiGroups:
- elasticsearch.k8s.elastic.co
resources:
- elasticsearches
- elasticsearches/status
- elasticsearches/finalizers
- clusterlicenses
- enterpriselicenses
- enterpriselicenses/status
- enterpriselicenses/finalizers
- trustrelationships
…
- apiGroups:
- kibana.k8s.elastic.co
resources:
- kibanas
- kibanas/status
- kibanas/finalizers
apiVersion: apps/v1
kind: StatefulSet
…
spec:
selector:
matchLabels:
control-plane: elastic-operator
serviceName: elastic-operator
template:
metadata:
labels:
control-plane: elastic-operator
spec:
serviceAccountName: elastic-operator
containers:
- image: docker.elastic.co/eck/eck-operator:0.8.1
securityContext:
privileged: true
elastic-operatorのClusterRole定義(L.1080あたり) elastic-operatorのStatefulSet定義(L.1190あたり)
ECKをOCPに入れる手順概要(仮) (3/6)
④ all-in-one.yamlをapplyしてOperatorを作成する
30
$ oc apply -f all-in-one.yaml
customresourcedefinition.apiextensions.k8s.io/apmservers.apm.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/clusterlicenses.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/elasticsearches.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/enterpriselicenses.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/remoteclusters.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/trustrelationships.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/users.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/kibanas.kibana.k8s.elastic.co created
clusterrole.rbac.authorization.k8s.io/elastic-operator created
clusterrolebinding.rbac.authorization.k8s.io/elastic-operator created
namespace/elastic-system configured
statefulset.apps/elastic-operator created
secret/webhook-server-secret created
serviceaccount/elastic-operator configured
⑤ Operatorが属するelastic-systemネームスペースを他テナントと疎通可能にする
$ oc adm pod-network make-projects-global elastic-system
(ovs-multitenant構成の場合のみ実行する ※後述)
ECKをOCPに入れる手順概要(仮) (4/6)
31
$ oc new-project myeck
Now using project "myeck" on server "https://api.ocp4101.vlan016.cnta.local:6443".
…
$ oc project
Using project "myeck" on server "https://api.ocp4101.vlan016.cnta.local:6443".
⑥ 利用者テナントに切り替える
$ oc apply –f my-es-cluster.yaml
elasticsearch.elasticsearch.k8s.elastic.co/quickstart created
$ oc apply –f my-kibana.yaml
kibana.kibana.k8s.elastic.co/quickstart created
⑦ ElasticsearchとKibanaのデプロイ (yamlの書き方については後述)
■注意:⑥~⑨まではテナント利用者として実行してください
ECKをOCPに入れる手順概要(仮) (5/6)
32
$ PASSWORD=$(kubectl get secret quickstart-elastic-user -o=jsonpath='{.data.elastic}' |¥
base64 --decode)
$ echo $PASSWORD
bh4f4k5vjtbb664dz79hgtjw
$ curl -u "elastic:$PASSWORD" -k https://<Master_or_Worker_Node_IP>:<NodePort>
{
"name" : "quickstart-es-sbngffdhkf",
"cluster_name" : "quickstart",
"cluster_uuid" : "EDip-cpRR6qo8lQdtiJFdA",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
⑧ Elasticsearchクラスタへの疎通確認
ECKをOCPに入れる手順概要(仮) (6/6)
33
$ echo $(kubectl get secret quickstart-elastic-user -o=jsonpath='{.data.elastic}' |¥
base64 --decode)
bh4f4k5vjtbb664dz79hgtjw
⑨ Kibanaのログインパスワード確認
⑩ KibanaのServiceへのSSHポート転送設定 ⑪ Kibanaへelasticユーザでログイン(localhost:5601)
Kibana serviceの
NodePort
Master/Workerの中の
いずれかのIPアドレス
ECKで作成したElasticsearchクラスタの運用管理の例
その① Elasticsearchのバージョンアップの例
34
apiVersion:
elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
7.2.1のコンテナイメージが公開された際にはここ
を7.2.1に編集してoc applyするだけ
※バージョンダウンは不可
ECKで作成したElasticsearchクラスタの運用管理の例
その② Elasticsearchのスケールアウトの例
35
apiVersion:
elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
3 → 5とするとクラスタに2台追加される
自動でシャードのリバランスも行われる
apiVersion:
elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: false
node.ingest: false
- nodeCount: 6
config:
node.master: false
node.data: true
node.ingest: true
ECKで作成したElasticsearchクラスタの運用管理の例
その③ Elasticsearchのノード種別分離の例(Master 3台 + Data/Ingest 6台)
36
Cluster
Node1 Node2 Node3
= Master node
Node4 Node5 Node6
Node7 Node8 Node9
5. OCPにOperatorを入れる際の
(たぶん)一般的な注意点
OCPにOperatorを入れる際の注意点 (1/5)
–OpenShift固有のSCCでハマる
症状
–OperatorのPodでエラー
原因分析
–まずリソース作成時のエラーを見る
–“server returns an unexpected error”,“error”:“listen tcp :443: bind: permission denied”
–well-knownポートのバインドでpermissionがない→一般ユーザでbindしてエラー→SCCの権限不足、と判断
回避策の一例
–(1) 事前にnamespaceとserviceaccountを手動作成しておき、SAにprivileged権限を付与した
–”oc adm policy add-scc-to-user privileged -z <serviceaccount名> -n <namespace>”コマンドで権限付与した
–(2) StatefulSetのspec定義にも”securityContext: privileged: true”を追記
注意
–本来は適切な最少権限を持つSCCを独自定義してそれを付与するべきでしょう
38
OCPにOperatorを入れる際の注意点 (2/5)
–OpenShift固有のRBACでハマる
症状
–上記SCCを設定するとOperatorは正常に起動する(ように見える)
–しかし、Elasticsearchクラスタデプロイができない(デプロイしても何もおきない)
原因分析
–落ち着いてOperatorのログを見る
–“services ¥"quickstart-es-discovery¥" is forbidden: cannot set blockOwnerDeletion if an ownerReference refers to
a resource you can't set finalizers on: no RBAC policy matched, <nil>"
–finalizerに関するRBACポリシーが足りない?(finalizer:カスタムリソース削除時に定義できる処理)
–Githubのissueから同じことで困っている人を発見
–Kubernetesでは暗黙的にfinalizerが呼び出せるが、OpenShiftでは明示的に許可しないとエラーになる(!)
–参考: https://github.com/elastic/cloud-on-k8s/issues/541
回避策の一例
–(1) RBAC定義(ClusterRole)で明示的にfinalizerを追記する
39
OCPにOperatorを入れる際の注意点 (3/5)
–OpenShiftデフォルトのElasticsearchリソースと名前空間がかぶる
症状:最初からelasticsearches.logging.openshift.ioというCRDがあるため名前衝突が起こる
回避策:リソースをフルパス?で指定する(usersリソースも同様にusers.openshift.ioとかぶる)
40
$ oc get crds | grep -e elastic -e kibana
apmservers.apm.k8s.elastic.co 2019-07-07T01:02:07Z
clusterlicenses.elasticsearch.k8s.elastic.co 2019-07-07T01:02:07Z
elasticsearches.elasticsearch.k8s.elastic.co 2019-07-07T01:02:07Z
elasticsearches.logging.openshift.io 2019-06-17T03:53:42Z
enterpriselicenses.elasticsearch.k8s.elastic.co 2019-07-07T01:02:07Z
kibanas.kibana.k8s.elastic.co 2019-07-07T01:02:07Z
remoteclusters.elasticsearch.k8s.elastic.co 2019-07-07T01:02:07Z
trustrelationships.elasticsearch.k8s.elastic.co 2019-07-07T01:02:07Z
users.elasticsearch.k8s.elastic.co 2019-07-07T01:02:07Z
$ oc get elasticsearch/quickstart
Error from server (NotFound): elasticsearches.logging.openshift.io "quickstart" not found
$ oc get elasticsearch.elasticsearch.k8s.elastic.co/quickstart
NAME HEALTH NODES VERSION PHASE AGE
quickstart green 3 7.2.0 Operational 3m45s
OCPにOperatorを入れる際の注意点 (4/5)
–CNIでovs-multitenant構成にしている場合のみテナント(project)間疎通ができない
原因分析
–Operatorは”elastic-system” projectで稼働している
–テナント利用者は各自のprojectでElasticsearch/kibanaを起動したい
–ovs-multitenantの機能により明示的にテナント間疎通を許可しないと通信できない
–default projectは例外で、最初からすべてのテナントと疎通可能
–実際にリソースを作成すると、[Operator] → [ElasticsearchのPod:8001/csr]などのアクセスが発生
41
elastic-operator
Pod
elastic-systemNS
my-es-jg27djqfbk
Pod
my-eckNS
my-es-jsp9zbchd
Pod
my-es-7fl92sch7
Pod
ovs-multitenantのCNIを設定した
環境ではテナント間疎通ができない
OCPにOperatorを入れる際の注意点 (4/5)
–CNIでovs-multitenant構成にしている場合のみテナント(project)間疎通ができない
回避策:テナント間疎通を以下のいずれかのコマンドで有効化する
42
$ oc adm pod-network join-projects --to=eck elastic-system ## 特定のテナントだけ疎通可能にする
$ oc adm pod-network make-projects-global elastic-system ## elastic-systemを全部疎通可能にする
$ oc get netnamespaces
NAME NETID EGRESS IPS
default 0 []
eck 12556575 []
elastic-system 14389832 []
kafka 8405702 []
kube-public 16343347 []
kube-service-catalog 0 []
kube-system 4594827 []
openshift-infra 10726890 []
openshift-logging 11674285 []
openshift-monitoring 0 []
…
$ oc get netnamespaces
NAME NETID EGRESS IPS
default 0 []
eck 12556575 []
elastic-system 12556575 []
kafka 8405702 []
kube-public 16343347 []
kube-service-catalog 0 []
kube-system 4594827 []
openshift-infra 10726890 []
openshift-logging 11674285 []
openshift-monitoring 0 []
…
ちなみに
make-projects-globalにすると
NETIDは0になる
デフォルトのnetnamespace 特定のテナントだけ疎通可能にした状態
OCPにOperatorを入れる際の注意点 (5/5)
–Serviceへのアクセス経路の設定方法
症状:デフォルトのClusterIPをNodePortやLoadBalancerに変更したいが、直接editは不可
回避策
–実際にはこれらのリソースはCRDである”kind: Elasticsearch”や”kind: Kibana”が管理しているためこれらの
リソースをeditする必要がある
43
$ oc get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
quickstart-es ClusterIP 172.30.195.52 <none> 9200/TCP 5s
quickstart-es-discovery ClusterIP None <none> 9300/TCP 5s
quickstart-kibana ClusterIP 172.30.149.235 <none> 5601/TCP 2s
$ oc edit elasticsearches.elasticsearch.k8s.elastic.co/quickstart ## 名前空間に注意
…
spec:
http:
service:
metadata: {}
spec:
type: NodePort
…
OCPにOperatorを入れる際の注意点 (5/5)
–Serviceへのアクセス経路の設定方法
Tips: 後からeditするより、最初からElasticsearch/Kibanaリソースのyamlに記載するのがおすすめ
44
apiVersion:
elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
http:
service:
metadata: {}
spec:
type: NodePort
apiVersion: kibana.k8s.elastic.co/v1alpha1
kind: Kibana
metadata:
name: quickstart
spec:
version: 7.2.0
nodeCount: 1
elasticsearchRef:
name: quickstart
http:
service:
metadata: {}
spec:
type: NodePort
まとめ
まとめ
46
–Operatorを活用してprivateなマネージドサービスを実現
–Operatorが内部で利用するカスタムリソース/CRDについて知っておく
– カスタムリソースがpodやserviceを監視(reconciliation loop)する場合がある
–OpenShiftにOperatorを入れる際にはOCP固有の設計思想や制約に注意
– 「OpenShift = k8s+α」のαを知らないとハマることも・・・
Operatorは最高だ~
ご清聴ありがとうございました
48
本資料に関するお問い合わせ
48
@tetsuyasd
Mailto: tetsuya.sodo@hpe.com
Elasticsearchは、Elasticsearch BVの米国およびその他の国における登録商標または商標です。
Openshiftは、Red Hat, Inc.の米国およびその他の国における登録商標または商標です。
その他、本資料で記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。
本発表内容に関して、ご質問等があればお問い合わせ下さい。
また、内容に関しては個人の意見に基づくものであり、所属組織団体の公式見解とは異なる場合がございます点、ご了承
下さい。
Appendix. AKSクラスタセットアップ
AKSクラスタセットアップ手順
– 前提:Azure CLIとkubectlはインストール済み
50
## ログイン
$ az login
## リソースグループの作成
$ az group create --name aks01rg ¥
--location japaneast
## 仮想ネットワークとサブネットの作成
$ az network vnet create ¥
--name aksVNet ¥
--resource-group aks01rg ¥
--address-prefixes 10.0.0.0/8 ¥
--subnet-name aksSubNet ¥
--subnet-prefixes 10.1.0.0/16 ¥
--location japaneast
## サブネットID の取得
$ VNET_SUBNET_ID=$(az network vnet subnet list ¥
--resource-group aks01rg ¥
--vnet-name aksVNet ¥
--query [].id --output tsv)
## AKSクラスタの作成
$ az aks create --resource-group aks01rg ¥
--name aks01 ¥
--network-plugin azure ¥
--vnet-subnet-id ${VNET_SUBNET_ID} ¥
--docker-bridge-address 172.17.0.1/16 ¥
--dns-service-ip 10.0.0.10 ¥
--service-cidr 10.0.0.0/16 ¥
--node-count 3 ¥
--kubernetes-version 1.13.5 ¥
--generate-ssh-keys
## クレデンシャル情報の登録
$ az aks get-credentials --resource-group aks01rg ¥
--name aks01
## 動作確認(ノード一覧の取得)
$ kubectl get node
NAME STATUS ROLES AGE VERSION
aks-nodepool1-38425010-0 Ready agent 3m31s v1.13.5
aks-nodepool1-38425010-1 Ready agent 3m19s v1.13.5
aks-nodepool1-38425010-2 Ready agent 3m7s v1.13.5
※本手順は「Kubernetes実践ガイド(impress top gear)」を参考にさせていただきました。

More Related Content

What's hot

新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみたKazuto Kusama
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたHideaki Aoyagi
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視npsg
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Hideki Saito
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016By_taka_23
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with AnsibleHideki Saito
 
Knative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたKnative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたHideaki Aoyagi
 
Kubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewKubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewcyberblack28 Ichikawa
 
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHDevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHi_yudai
 
DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来Kazuto Kusama
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )ロフト くん
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Yuji Oshima
 
OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話Kazuto Kusama
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたkokuboyuichi
 
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.
 

What's hot (20)

新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with Ansible
 
Lattice深掘り話
Lattice深掘り話Lattice深掘り話
Lattice深掘り話
 
Knative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたKnative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみた
 
OpenStack API
OpenStack APIOpenStack API
OpenStack API
 
Kubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewKubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical preview
 
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHDevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
 
DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
 
俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
 
OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話
 
Cloud Foundry varz
Cloud Foundry varzCloud Foundry varz
Cloud Foundry varz
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
 
ECS-CLI in Action
ECS-CLI in ActionECS-CLI in Action
ECS-CLI in Action
 
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...
 

Similar to OCP Meetup Tokyo #05 ECK on OCP

OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGHideki Saito
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいnpsg
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swiftirix_jp
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~Masanori Itoh
 
[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月版]オラクルエンジニア通信
 
Open stack overview_20130301
Open stack overview_20130301Open stack overview_20130301
Open stack overview_20130301Satoshi Konno
 
半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)Toru Makabe
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会Yuki Obara
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとはKoto Shigeru
 
【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドでオラクルエンジニア通信
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデートKazumasa Ikuta
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on AzureYoshio Terada
 
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
 
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloudNaoto Gohko
 

Similar to OCP Meetup Tokyo #05 ECK on OCP (20)

OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUG
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
 
[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月版]
 
Open stack overview_20130301
Open stack overview_20130301Open stack overview_20130301
Open stack overview_20130301
 
半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート
 
IOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデートIOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデート
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on Azure
 
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 発表資料)
 
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
 
OpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR OpsOpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR Ops
 

More from Tetsuya Sodo

Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624Tetsuya Sodo
 
Elasticsearch勉強会#39 LT 20201217
Elasticsearch勉強会#39 LT 20201217Elasticsearch勉強会#39 LT 20201217
Elasticsearch勉強会#39 LT 20201217Tetsuya Sodo
 
OpenShift.RUN Summer 10 tetsuyasd
OpenShift.RUN Summer 10 tetsuyasdOpenShift.RUN Summer 10 tetsuyasd
OpenShift.RUN Summer 10 tetsuyasdTetsuya Sodo
 
JAZUG #26 AKS backup with Velero
JAZUG #26 AKS backup with VeleroJAZUG #26 AKS backup with Velero
JAZUG #26 AKS backup with VeleroTetsuya Sodo
 
Microsoft Open Tech Night #01 LT-tetsuyasd
Microsoft Open Tech Night #01 LT-tetsuyasdMicrosoft Open Tech Night #01 LT-tetsuyasd
Microsoft Open Tech Night #01 LT-tetsuyasdTetsuya Sodo
 
Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01Tetsuya Sodo
 
Jeug 01 lt_tetsuyasodo_v01
Jeug 01 lt_tetsuyasodo_v01Jeug 01 lt_tetsuyasodo_v01
Jeug 01 lt_tetsuyasodo_v01Tetsuya Sodo
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentTetsuya Sodo
 
MUGT02 - vamp demo
MUGT02 - vamp demoMUGT02 - vamp demo
MUGT02 - vamp demoTetsuya Sodo
 
MUGT01 - mesos.DCOS demo
MUGT01 - mesos.DCOS demoMUGT01 - mesos.DCOS demo
MUGT01 - mesos.DCOS demoTetsuya Sodo
 

More from Tetsuya Sodo (10)

Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624
 
Elasticsearch勉強会#39 LT 20201217
Elasticsearch勉強会#39 LT 20201217Elasticsearch勉強会#39 LT 20201217
Elasticsearch勉強会#39 LT 20201217
 
OpenShift.RUN Summer 10 tetsuyasd
OpenShift.RUN Summer 10 tetsuyasdOpenShift.RUN Summer 10 tetsuyasd
OpenShift.RUN Summer 10 tetsuyasd
 
JAZUG #26 AKS backup with Velero
JAZUG #26 AKS backup with VeleroJAZUG #26 AKS backup with Velero
JAZUG #26 AKS backup with Velero
 
Microsoft Open Tech Night #01 LT-tetsuyasd
Microsoft Open Tech Night #01 LT-tetsuyasdMicrosoft Open Tech Night #01 LT-tetsuyasd
Microsoft Open Tech Night #01 LT-tetsuyasd
 
Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01
 
Jeug 01 lt_tetsuyasodo_v01
Jeug 01 lt_tetsuyasodo_v01Jeug 01 lt_tetsuyasodo_v01
Jeug 01 lt_tetsuyasodo_v01
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deployment
 
MUGT02 - vamp demo
MUGT02 - vamp demoMUGT02 - vamp demo
MUGT02 - vamp demo
 
MUGT01 - mesos.DCOS demo
MUGT01 - mesos.DCOS demoMUGT01 - mesos.DCOS demo
MUGT01 - mesos.DCOS demo
 

Recently uploaded

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
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.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

OCP Meetup Tokyo #05 ECK on OCP