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
GKE101
Search
chago
May 26, 2020
Technology
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GKE101
chago
May 26, 2020
Other Decks in Technology
See All in Technology
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
USB PDを使ってスマホを労わりたい
raspython3
0
180
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
150
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
Metadata - Section 1: HTML Basics
mohab1
0
120
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
190
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Accessibility Awareness
sabderemane
1
250
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
The Cost Of JavaScript in 2023
addyosmani
55
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Transcript
GKE 101 2020 / 05 / 26 Kubernetes Novice Meetup
on YouTube @it__chago
Who am I ? chago (twitter: @it__chago) • Solution Architect
◦ Kubernetes関連 • Kubernetes歴: 1年未満 ◦ ほぼ全て独学 ◦ 今週末CKA受けます!! • 21:9ワイドモニター捗る
本日話すこと - What is GKE? - Step1: プロジェクトの作成 - Step2:
GKEクラスタの作成 - Step3: Nginxの作成 - Step4: Monitoring 本日話さないこと - Cloud SDKのインストール
早速GKEを触ってみる
What is GKE? • GKE:Google Kubernetes Engine • GCP(Google Cloud
Platform)上で動作するマネージドKubernetesサービス。 • GCPの各種機能とインテグレーションが行われている。 - ex) GCLB(Google Cloud LoadBalancer) • GKEではKubernetes NodeにGCE(Google Compute Engine)が利用される。 • Masterの管理はGoogleが担当、Nodeはユーザが担当する。 - ユーザはノードの使用料金のみを負担する。 • ノード自動アップデート機能が用意されている。 - クラスタのバージョンアップが簡単。 • NodePool:ノードに対してラベル付けをする。 • GCPは無料利用枠として登録時から1年間で$300まで使える。
Step0: Cloud SDKのインストール • GCPのリソースとアプリケーションの管理に使用できる一連のツール。 • gcloudコマンドラインツールはこのパッケージに含まれる。 • kubectlなどのApp Engine拡張機能は別途インストールする。
• Python3.5以降、もしくは2.7.9以降が必須。 • 今回はCentOS7.7で検証。
Step0: Cloud SDKのインストール yumでpython3.6をインストール。 # yum install -y https://centos7.iuscommunity.org/ius-release.rpm #
yum install -y python36u python36u-libs python36u-devel python36u-pip # ln -s /usr/bin/python3.6 /usr/local/bin/python
Step0: Cloud SDKのインストール アーカイブファイルをダウンロード。 # curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud- sdk-280.0.0-linux-x86_64.tar.gz #
tar –zxvf google-cloud-sdk-280.0.0-linux-x86_64.tar.gz curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
Step0: Cloud SDKのインストール インストールスクリプトの実行。 # ./google-cloud-sdk/install.sh curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
Step0: Cloud SDKのインストール インストールスクリプトの実行。 # ./google-cloud-sdk/install.sh curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
Step0: Cloud SDKのインストール インストールスクリプトの実行結果。 # cat /root/.bashrc ターミナルを再起動して変更を反映させる。 curl -O
https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
Step0: Cloud SDKのインストール SDKの初期化。 # gcloud init curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
Step0: Cloud SDKのインストール curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-280.0.0-linux-x86_64.tar.gz
Step1: プロジェクトの作成 • GCPには「プロジェクト」という概念が存在する。 • プロジェクト単位での課金やユーザー管理を行う事が出来る。 各プロジェクトで明確に環境を分けることが出来る。 • 以下を利用してプロジェクトを識別する。 1.プロジェクト名:
人が読めるプロジェクト名 プロジェクト作成中や作成後に編集可能。一意である必要は無し。 2.プロジェクトID: カスタマイズ可能な一意のプロジェクトID 但しカスタマイズはプロジェクトの作成時のみ。 プロジェクト名とランダムに割り当てられた番号で構成される。 3.プロジェクト番号: 自動生成される一意のプロジェクト識別子。
None
Step1: プロジェクトの作成 • # gcloud projects list 自分のプロジェクトの一覧を表示 • #
gcloud config set project プロジェクトの切り替え
Step2: GKEクラスタの作成 CLIで作成する場合は以下のコマンドを実行すればよい。 • # gcloud container clusters create cluster-name
GKEクラスタの作成 • # gcloud container clusters get-credentials cluster-name プロジェクトの切り替え
None
None
• GUIベースだと細かい設定を視覚的に出来る。
Step2: GKEクラスタの作成 設定項目 ・名前 クラスタの名前を入力。変更不可。 ・ロケーションタイプ - 単一ゾーン - マルチゾーン
- リージョン ・default-pool ノードを幾つ用意するかを設定。 デフォルトでは ノード数=3 に設定されている。
ゾーン リージョン
• 「クラスタの接続」では Cloud Shell, Cloud Consoleダッシュボードが選択出来る。
• Cloud Shellを使えばCLIでも操作が出来る。
• Cloud Consoleダッシュボードへ接続。
• Kubernetesのバージョンもワンクリックで変更が可能。
Step3: Nginxの作成 • # kubectl run pod-name –image=image-name –restart=Never 気軽にPodを立ち上げる事が出来るコマンド。
• 左のメニューから「ワークロード」を選択し、デプロイをクリック。
• イメージでnginxを選択しデプロイする。
• 続いて公開をクリックし、サービスを作成する。
• サービスのタイプは全3種。今回はロードバランサを選択しました。
Step4: Monitoring Google Cloudのオペレーションスイート (旧称: Stackdriver) インフラストラクチャとアプリケーションのパフォーマンスを モニタリングしてトラブルシューティングを行いパフォーマンスを向上する。 主な機能 -
Cloud Monitoring - Cloud Logging
通常のVMインスタンスの場合
None
Step4: Monitoring ・Kubernetes Engine MonitoringはGKEバージョン1.14からデフォルトで有効。 ・Kubernetes専用のモニタリングダッシュボード。 GKEにはCloud MonitoringとCloud Loggingのネイティブ統合が含まれている。 (統合を完全に無効化することも可能)
・有効にしてあると、Cloud Monitoringのダッシュボードに Kubernetes Engine Newという名前で表示される。
None
None
None
Namespace単位で リソースの確認 readinessProbeの確認
• https://cloud.google.com/kubernetes- engine/docs/concepts/kubernetes-engine-overview?hl=ja 参考リンク
Thank you for Listening !