SlideShare a Scribd company logo
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
Pumpkin Heads Co.,Ltd.
Shoichiro Sakaigawa
BMXUG つきじ#1
自己紹介
境川 章一郎
インフラ系SE
時々開発します

(Java/PHP/Python)
最近はnode-red /
kubernets+bluemix / OpenShift
Origin界隈で学習しています。
Qiitaに忘れた頃に寄稿します。
Docker使ったことあるかた

どのくらいいますか?
Kubernetes on Bluemix
知っている方はどのくらいいますか?
今日話すこと
Kubernetes Bluemixの基礎知識
Kubernetesのすごいところ
Bluemix on Kubernetesのすごいところ
Bluemix DevOps
デモ
Kubernets on Bluemix
©BMXUG Illustration by 竹花ノート
Kubernetesってどんなもの?
簡素にまとめると
Docker実行環境のクラスタ化
耐障害性
コンテナの冗長化
複数の要素の集合体
Master Node
クラスタ全体の管理基盤
Worker Node
実際のコンテナが動作する場所
出典: Kubernetes Building High-Availability Clusters

https://kubernetes.io/docs/admin/high-availability/
Bluemix on Kubernets

のすごいところ
マネージドである。
Kubernetes MasterはBluemixが管理してくれる
Kubernetes Nodeをクラスタとして提供してくれる
利用者端末からkubernetesクラスタへはOpenVPNでつなげる。
コンテナのセキュリティ診断
Bluemix PaaSとの連携 (Watson/CloudFoundry)
Bluemix on Kubernetes

こんなときは?
DBにデータを保存したい

-> PaaSのDBサービスを利用する

  Cloundantなど多くはCloudFoundoryベース
ファイルを保存したい

-> IBM Cloud Object Storage(ICOS)に保存する

-> NFS永続ボリュームを作成・契約し保存する
PaaSと接続したい

Service Bindingを利用する
Bluemix DevOps ©BMXUG Illustration by 竹花ノート
Bluemix DevOps

使ったことある方どのくらいますか?
今日のデモ
secure-kube-toolchain サンプルをベースに

DevOps CI部分を登録する
http://bit.ly/tsukiji-toolchain 今回のカスタマイズ版
http://bit.ly/2xPUZE0
オリジナルの”tsukiji-container”をtoolchainでビルドする
http://bit.ly/tsukiji-container
“tsukiji-container”のビルドが完了したら

PaaS連携を行って画像認識を行う
今日のデモ 資料URL
secure-kube-toolchain サンプルをベース
http://bit.ly/tsukiji-toolchain 今回のカスタマイズ版
(fork)
http://bit.ly/2xPUZE0 IBM 公式版
オリジナルの”tsukiji-container”をtoolchainでビルドする
http://bit.ly/tsukiji-container
役割分担(toolchain)
secure-kube-toolchain Bluemix DevOpsの
CIフローを定義する
ここでgitレポジトリ
指定・ビルド・
開発環境を定義して
dockerコンテナの
実行まで管理
役割分担(tsukiji-container)
tsukiji-container dockerコンテナと
kubernetesへの
デプロイ指示を
ファイルのまとまり
として提供docker container
Dockerfile
kubernetes
deploy.yaml
Application
Source Code
ToolChain作成に必要なもの
APIキー
名前空間(namespace)
kubernetsクラスタ
bxコマンド+プラグイン
$ bx plugin install container-service -r Bluemix
$ bx plugin install conainer-registry -r Bluemix
kubectlコマンド
デモンストレーション
secure-kube-toolchain

からCreate toolchainを実行する
ツールチェーン名を

適宜指定する
containerの

ソースレポジトリを指定
githubのレポジトリを指定する。レポジトリ名は

bluemixプライベートレポジトリ名になります。
namespace
api-key
kubernetes cluster
ネームスペースと、APIキー、クラスタ名を指定。

アプリ名は適宜自由に設定可能。
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
Issuesの画面サンプル
gitの画面サンプル
IDEの画面サンプル
PIPELINEの画面サンプル
ビルド成功すると全てグリーンに
DEPLOYの画面サンプル
ログの最下部までスクロール
DEPLOYの画面サンプル
デプロイ結果のURLをクリックすると
実行結果が
表示されます
補足資料:
Kubernetes on Bluemixへの接続
bluemixへのログイン
$ bx login
$ bx target —cf
kubernetesクラスタへの接続
$ bx cs init
$ bx cs cluster-config {ClusterName}
返却された変数をexportする
Kubernetes on Bluemixへの接続
kubernetes GUIへの接続
$ ./kubectl proxy

Starting to serve on 127.0.0.1:8001
ブラウザで接続
kubernets 管理画面サンプル
APIキーの入手
下準備
$ bx iam api-key-create {Key Name}
Bluemix PaaS
Watson Visual Recognitionに接続する
PaaS連携
Kubernetes on BluemixとPaaSとのつながりは

設定が必要です。(サービスのバインディング)
APIをcurlなどで叩くことも可能ですが、

API-KEYを埋め込んだりと煩雑になるため、

サービスバインディングを使うとJSONで自動連携
可能です。
サービスバインディング
例) Watson Visual Recognitionサービス
サービス名に「スペース」が含まれているとうまく
設置できなかったので注意必要。
$ bx cs cluster-service-bind {kube cluster} default {serviceName}
サービスバインディング後
の結果サンプル
deployment.ymlに追記
env:
- name: WATSON_VR
valueFrom:
secretKeyRef:
name: binding-visualrecognition-15
key: binding
このあたりに追記
画像をwatson visual recognition
で解析すると・・・
Tips
Tips
Bluemix Container Registoryの容量問題
標準はFreeプラン。

Storage 500MBまで Pull 5GB/月まで
Standardプランは無制限



Storage 500MBまで Pull 5GB/月まで
大きめのimageをビルドする時にはStandardへアップグレード推奨。
こまめに不要なイメージをbxコマンドで削除することも 有用。
Tips
docker-registryのimage削除が上手くいかない
DevOps ToolChainでBuildしたimageは

権限が足りないエラーで”bx cr image-rm {imageID}”が失敗する
乱暴だがnamespaceごと削除することで削除が可能
$ bx cr namespace-rm {registryNameSpace}
$ bx cr namespace-add {registryNameSpace}
削除直後は同じ名前が使えないエラーがでるが、

数秒で再作成可能
Tips
Security Validateがwaiting imagesで止まる
docker-registryのnamespaceが正しくない
単純に時間がかかっている場合もある
再実行で治る場合もある
Tips
Security Validateがwaiting imagesで止まる
docker-registryのnamespaceが正しくない
単純に時間がかかっている場合もある
再実行で治る場合もある
ありがとうございました

More Related Content

PDF
KubernetesとOpenShiftの話
PDF
新しいOpenShiftのしくみを調べてみた
PDF
DockerとKubernetesが作る未来
PDF
”30分”ぐらいでわかる「Kubernetes」について
PDF
最近のKubernetesとDocker Machine/Swarmの話
PDF
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
PDF
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
PDF
OpenShift 3で、DockerのPaaSを作る話
KubernetesとOpenShiftの話
新しいOpenShiftのしくみを調べてみた
DockerとKubernetesが作る未来
”30分”ぐらいでわかる「Kubernetes」について
最近のKubernetesとDocker Machine/Swarmの話
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
OpenShift 3で、DockerのPaaSを作る話

What's hot (20)

PDF
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
PDF
Lattice深掘り話
PPTX
俺とKubernetes
PPTX
コンテナ運用基盤 with OpenShift
 
PDF
パフォーマンス計測Ciサービスを作って得た知見を共有したい
PDF
Githubを使って簡単に helm repoを公開してみよう
PPTX
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
PDF
忙しい人の5分で分かるDocker 2017年春Ver
PDF
Cloud Foundry Container-to-Container Networking
PDF
知って欲しいPaaSの話
PDF
Kubernetes雑にまとめてみた 2019年12月版
PDF
runC概要と使い方
PPTX
Kubernetes introduction
PDF
対話AI on Kubernetes
PDF
RancherとGitOps的な話
PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか
PPTX
Introduction of Rancher at OSC Tokyo 17 Spring
PDF
20分でわかるgVisor入門
PDF
CNCF Updates 2019 Winter version and Knative
PPTX
Moby Project
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Lattice深掘り話
俺とKubernetes
コンテナ運用基盤 with OpenShift
 
パフォーマンス計測Ciサービスを作って得た知見を共有したい
Githubを使って簡単に helm repoを公開してみよう
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
忙しい人の5分で分かるDocker 2017年春Ver
Cloud Foundry Container-to-Container Networking
知って欲しいPaaSの話
Kubernetes雑にまとめてみた 2019年12月版
runC概要と使い方
Kubernetes introduction
対話AI on Kubernetes
RancherとGitOps的な話
DevOpsにおける組織に固有の事情を どのように整理するべきか
Introduction of Rancher at OSC Tokyo 17 Spring
20分でわかるgVisor入門
CNCF Updates 2019 Winter version and Knative
Moby Project
Ad

Similar to Kubernets on Bluemix + DevOpsでコンテナCIやってみた (20)

PPTX
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
PDF
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
PPTX
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
PDF
Run Jenkins in IBM Containers.
PPTX
Docker & Kubernetes基礎
PDF
いまからでも遅くない Docker事始め&愉快な仲間達
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
PPTX
OCP Serverを用いた OpenStack Containerの検証
PDF
Docker技術情報アップデート 2015年7月号
PPTX
AKS (k8s) Hands on Lab Contents
PDF
Kubernetes1.9でWindowsコンテナーをクラスタ化
PDF
Kubernetes 初心者の僕からの JKD 参加報告
PDF
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
PDF
Kubernetesを触ってみた
PPTX
K8s meetup containerized_cloud_foundry
PPTX
Bluemixクラウド開発入門 Devlivery Pipeline デモ
PDF
Kubernetes 導入から始める DevOps について
PPTX
Kubernetes etc.. & rancher 2.0 technical preview
PDF
捕鯨!詳解docker
PDF
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Run Jenkins in IBM Containers.
Docker & Kubernetes基礎
いまからでも遅くない Docker事始め&愉快な仲間達
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
OCP Serverを用いた OpenStack Containerの検証
Docker技術情報アップデート 2015年7月号
AKS (k8s) Hands on Lab Contents
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes 初心者の僕からの JKD 参加報告
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
Kubernetesを触ってみた
K8s meetup containerized_cloud_foundry
Bluemixクラウド開発入門 Devlivery Pipeline デモ
Kubernetes 導入から始める DevOps について
Kubernetes etc.. & rancher 2.0 technical preview
捕鯨!詳解docker
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Ad

More from Shoichiro Sakaigawa (12)

PDF
Node-REDとAITRIOSが連携! みんなで可愛いロボットTJBotにAITRIOSを繋げてみよう
PDF
TJBot / TJBot zeroで遊ぼう 2020春
PDF
OpenShift on IBM Cloud BMS
PDF
IBM Cloud Kubernetes Serviceで使うコンテナ環境
PDF
use case ibm k8s_service+devops
PDF
TJBotで遊んでみた(raspberry pi + node-redでつくるお手軽ロボット)
PDF
トレノケ雲の会 mod.1 IBMのクラウドを掴んでみよう
PDF
GWクラウドなんでも もくもく会(オンライン) 概要
PDF
Istio on IBM K8Sにチャレンジしてみた
PDF
Istioの始め方・環境構築方法
PDF
IBM Cloud K8sでマイクラを遊んでみる
PDF
Kubernetes on IBM Cloud + DevOps コンテナCIで簡易アプリ作ってみた
Node-REDとAITRIOSが連携! みんなで可愛いロボットTJBotにAITRIOSを繋げてみよう
TJBot / TJBot zeroで遊ぼう 2020春
OpenShift on IBM Cloud BMS
IBM Cloud Kubernetes Serviceで使うコンテナ環境
use case ibm k8s_service+devops
TJBotで遊んでみた(raspberry pi + node-redでつくるお手軽ロボット)
トレノケ雲の会 mod.1 IBMのクラウドを掴んでみよう
GWクラウドなんでも もくもく会(オンライン) 概要
Istio on IBM K8Sにチャレンジしてみた
Istioの始め方・環境構築方法
IBM Cloud K8sでマイクラを遊んでみる
Kubernetes on IBM Cloud + DevOps コンテナCIで簡易アプリ作ってみた

Kubernets on Bluemix + DevOpsでコンテナCIやってみた