Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GCPUGでのライトニングトーク(自己紹介とKubernates)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
とこま
May 30, 2018
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GCPUGでのライトニングトーク(自己紹介とKubernates)
とこま
May 30, 2018
Other Decks in Technology
See All in Technology
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
660
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
610
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
290
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
2
380
GitHub Agentic Workflows を触ってみる
htkym
2
910
[2026 Oracle Technical Deep Dive] エンタープライズAIエージェントを支えるOCIソリューション。ラインナップと特徴を理解しよう! (2026年9月17日開催)
oracle4engineer
PRO
0
160
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
160
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
150
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
200
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
290
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
210
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
We Are The Robots
honzajavorek
0
380
Mind Mapping
helmedeiros
1
390
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
It's Worth the Effort
3n
188
29k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
Lightning talk Makoto Hashimoto
2 自己紹介 • これまでやってきたこと、現在やっていること – エンタープライズ系アプリケーション • Java&framework->ESB(Enterprise Service Bus)
• Business Rule Engine – ビッグデータ関連 • Scala / Spark • NoSQL(CouchDB 、 MongoDB 、 Couchbase) • Amazon Elastic MapReduce(Spark 、 S3) • プログラミング言語 – Java 、 python 、 Javascript 、 Clojure 、 Scala • 開発環境 – Linux(Ubuntu)/Emacs – Cider(Clojure) 、 Encime(Scala) https://goo.gl/xD4gWN
3 自己紹介 • これから新たにやろうとしていること – ブロックチェーン関連 • Ethereum • HyperLedger
– 最適化問題 • Google ortools(Google の Paris Lab が開発 ) – 工場のシフトスケジューリング、生産ラインの最適化 • 個人的には – 神戸市内で農業と IT を繋げる活動 • 食に興味あり • シェアリングエコノミーと結びつけられないか?
4 自己紹介 農業と IT をつなぐ活動
5 神戸のムーブメント https://readyfor.jp/projects/tanigami 谷上プロジェクト https://www.nikkei.com/article/DGXMZO30513150V10C18A5AM1000/ マッキンゼーの研修拠点が新神戸に ( 日経新聞の web サイトより
) http://thebridge.jp/2017/04/announcing-500-kobe-accelerator- program-2017 http://urban-innovation-kobe.com/
6 GCPAG Kobe への期待 • 何か面白いことができそう ! • 地元で集まって技術者のネットワーキング •
テーマは? – 機械学習、 AI – インフラ (Kubernetes) U
7 GCP との関わり、やってみたいこと • 3 月末から個人アカウントで利用開始 – 知り合いが GCP に転職して
Facebook メッセージがきたのがきっかけ – Compute Engine(Bitcoin やEthereumの環境構築に利用 ) – Big Query • BigData 関連 – GCP 環境での Sparkの利用 (Dataprop) – BigQueryでの PoC( バッチ、ストリーミング ) • App Engine – AppEngine example with Clojure – WordPress • Clojure wrapper for Google API – Google API for Clojurescript(ML API) – Clojurescript(Javascript) にて vision-api を用いた物体認識アプリケー ションを作成中( はまっています) • そして Kubenetes
8 GCP との関わり、やってみたいこと $ time gcloud compute instances start instance-2
Starting instance(s) instance-2...done. Updated [https://www.googleapis.com/compute/v1/projects/test- project-199421/zones/us-east1-b/instances/instance-2]. real 0m9.996s user 0m0.607s sys 0m0.079s (ns my-gae.core (:require [compojure.core :refer :all] [compojure.route :as route])) (defroutes app (GET "/" [] "<h1> こんにちは </h1>") (route/not-found "<h1> ページがみつかりません </h1>")) GCP の IAS(Compute Engine) の起動は速い ! GAE の Clojure コード例
9 Kubernetes でやってみたいこと • DevOps – ローカルでクラスタ環境を構築して開発・テストを 行い、さくっとプロダクション環境に持っていきたい – Minikube→GKE
• オンプレ、クラウド非依存 – オンプレ、クラウドベンダに依存しない可搬性の高 い基盤を構築したい • クラスタリング – Spark 、 NoSQL などビッグデータの環境を k8s で構 築する – Hyperledger の環境を k8s で構築する
10 Kubernetes とは • 公開コンテナを利用したインフラ環境の構築、運 用を容易にするためのソフトウェア – ソフトウェア組み合わせによる環境構築を容易にする – クラスタリング環境の構築を行い、手動・自動スケー
リング機能を提供する – ローリングアップデートと呼ばれる稼働中のソフトウェア のアップデートを可能にする • Google が社内で開発して、実際に利用しているコ ンテナ管理システムである Borg をベースにして 2018 年 6 月に公開 • 船の操縦手 , 統括者・支配者というギリシャ語で あり、 k8s と略される
11 Kubernetes の構成要素 • Pod – Kubernetes にデプロイできるオブジェクトの最小単位 – pod
には Docker などのコンテナが 1 つ以上含まれる – ポッドで複数のコンテナが実行される場合、コンテナは単一のエンティ ティとして管理され、ポッドのリソースを共有 (ボリューム、ネットワーキン グ ) • Deployment – Pod の配備と冗長化( レプリカ ) を行う – ReplicaSet の生成・管理を行う • Service – Pod へのアクセスを提供する – ExternalIP を提供することで外部へのサービスを公開する • Node – Docker などのコンテナのホストとなる物理的もしくは仮想的なマシン
12 マスターコンポーネント 構成要素 説明 kube-apiserver RESTベースのkubernetesの操作を行うフロ ントエンドAPIを提供 etcd クラスタデータを保持する分散型KVS kube-controller-
manager 各種コントローラーを起動し、その状態を管 理するマネージャー cloud-controller- manager 各ベンダーのクラウド基盤とのやり取りを行 う kube-scheduler 可用性、パフォーマンス、および容量に大き な影響を与えるポリシーリッチ・トポロジを意 識したワークロード固有の機能を提供
13 ワーカーコンポーネント 構成要素 説明 kubelet クラスタのノード上で稼動するエージェン ト、podの中でコンテナが稼動していることを 保証する Kube-proxy KubernetesのServiceが持つ仮想的なIPア
ドレス(cluster IP)へのアクセスをルーティング Container Runtime コンテナのためのソフトェアであり、現在 Docker, rkt, runcおよびOCIランタイム仕様 の実装が動く
14 アドオン 構成要素 説明 DNS KubernetesのためのDNSで多くのクラスタで はこのDNSを利用しており、クラスタ立ち上げ 時にDNSは起動する Web-ui (Dashboard)
KubernetesのためのWebベースのダッシュボー ドであり、クラスタ自身とクラスタで稼動する アプリケーションの管理とトラブルシューティン グを行う Container Resource Monitoring 時系列のコンテナのリソースモニタリングのた めのメトリックスのデータベースおよびこれらの データを表示するためのUI Cluster-Level Logging クラスタレベルのロギングメカニズムおよび検 索・表示のためのインターフェイス
15 アーキテクチャ図 クラウド kubecnl kube- apiserver etcd kube- controller- manager
cloud- controller- manager kubelet Container runtime kube-proxy ノード kubelet Container runtime kube-proxy ノード
16 オンプレ ( ノート PC) と GKE で切り替え kubecntl
17 うまくいかなかったところ $ kubectl get pods Error from server (Forbidden):
pods is forbidden: User "client" cannot list pods in the namespace "default": Unknown user "client" • Local PC(ubuntu 16.04) で以下を実行すると うまくいかない – gcloud container clusters get-credentials xxx • Compute engine と同じ環境の ~/.kube/config をローカルにコピーするとうまく いく ( 当日の早朝 2 時頃に分った 涙 ) – これではまずいので現在問題究明中
18 一応できた ! $ kubectl config use-context minikube Switched to
context "minikube". $ kubectl config use-context gke_test-project-199421_us-east1-b_my- cluster Switched to context "gke_test-project-199421_us-east1-b_my-cluster". • minikube( ローカル環境 ) への切り替え • GKE( クラスタ環境 ) への切り替え
19 次回機会があれば • Kubernetes の続き – 実践的なより複雑なクラスタの構成の解説 – DevOps について
• Cloujure/Clojurescript ベースの物体認識ア プリ – oogle-vision-api などを利用 – Clojure on app-engine などなど・・・・・ みんなで盛り上げましょう !