Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
kubectlの基礎
Search
hhiroshell
February 28, 2018
Technology
6
1.3k
kubectlの基礎
hhiroshell
February 28, 2018
Tweet
Share
More Decks by hhiroshell
See All by hhiroshell
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
130
Platform Engineering from the CNCF Perspective
hhiroshell
0
42
Maximizing the Launch Reliability: Ensuring Stable Application Lift-off and Orbit on Kubernetes
hhiroshell
0
63
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
230
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
5
760
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び / Challenges and Lessons in Building an Ultra-Large-Scale Platform at LY Corporation
hhiroshell
3
1.7k
Architecting Kubernetes-Based Internal Developer Platforms: Essential Patterns and Practices
hhiroshell
0
270
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
280
Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
11
4.4k
Other Decks in Technology
See All in Technology
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
1.8k
日本Rubyの会: これまでとこれから
snoozer05
PRO
5
210
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
980
ESXi のAIOps だ!2025冬
unnowataru
0
140
ActiveJobUpdates
igaiga
1
280
20251222_サンフランシスコサバイバル術
ponponmikankan
2
120
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
620
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
330
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
160
SREには開発組織全体で向き合う
koh_naga
0
390
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
270
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
200
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.1k
Building AI with AI
inesmontani
PRO
1
560
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
72
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Mobile First: as difficult as doing things right
swwweet
225
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Discover your Explorer Soul
emna__ayadi
2
1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
Cloud Native Developers JP kubectlの基礎 @hhiroshell 1
Cloud Native Developers JP Kubernetesの全体像 k8sクラスター >_ kubectl (CLI) マシンとネットワーク
2
Cloud Native Developers JP kubectl • Kubernetesクラスターの管理操作を行うためのコマンドラインイン ターフェース • Kubernetesクラスターを操作するときの最も基本的な手段
• コマンドをapiserverが提供するREST APIの呼び出しに変換してい る 3
Cloud Native Developers JP kubectlの設定情報 • kubectlの設定情報の実体は、デフォルトで ~/.kube/config にyaml 形式で保存されている
• kubectl config view とすると現在の設定情報を表示できる • 設定ファイルを明示的に指定して利用したい場合 – kubectlコマンドの --kubeconfig フラグで毎回指定: kubectl get nodes --kubeconfig=~/some_directory/config_file – 環境変数 KUBECONFIG に設定ファイルのパスを設定: export KUBECONFIG=~/some_directory/config_file 4
Cloud Native Developers JP kubectlでよく使うコマンド(チートシート) 5
Cloud Native Developers JP kubectlの接続先クラスターを切り替える • kubectlの設定情報には、複数のクラスターへの接続情報を持てる • kubectl config
use-context <cluster name> で接続先のクラスターを 切り替えることができる 6
Cloud Native Developers JP コマンドの効力が及ぶNamespaceを指定する • Namespaceの一覧を取得するには、kubectl get namespaces •
kubectlのほとんどのコマンドで、効力が及ぶNamespaceを指定す るオプションが使える – すべてのNamespaceを指定するには、--all-namespaces kubectl --all-namespaces get pods – Namespaceの名前を指定するには、--namespace=<namespace-name> kubectl --namespace=mynamespace get pods • デフォルトのNamespaceを変更することも可能 kubectl config set-context $(kubectl config current-context) --namespace=mynamespace 7
Cloud Native Developers JP Kubernetes Objectの情報を取得する • オブジェクトの一覧を取得するには kubectl get
<object type> kubectl get pods kubectl get services • 所定のオブジェクトの詳細情報を取得するには kubectl describe <object type> <object name> kubectl describe pods mypod-1029384756-zxc0x
Cloud Native Developers JP Deploymentを作成する/削除する • kubectl run <deployment name/pod
name prefix> -- image=<image>:<tag> <command> 9
Cloud Native Developers JP manifestファイルでKubernetes Objectを操作する • manifestはKubernetes Objectの構成情報を記述したjson/yamlファイル •
-f オプションでファイル自体のパスか、manifestのあるディレクトリの パスを指定する • 命令的方式 – オブジェクトに対する作用(create, delete, replace...)を明示して実行する kubectl create –f ./deployment-nginx.yaml • 宣言的方式 – maninfestファイルから要求された状態を識別し、自動的にオブジェクトを変更する kubectl apply -f ./deployment-nginx.yaml 10
Cloud Native Developers JP 最もシンプルなmanifestファイルの例 • Podを定義したmanifestの例 – この例では、busyboxというコンテナを含むPodを定義している 11
apiVersion: v1 kind: Pod metadata: name: counter spec: containers: - name: count image: busybox args: [/bin/sh, -c, 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done']
Cloud Native Developers JP Podの標準出力/標準エラー出力を表示する • コンソールに表示するには kubectl logs <pod
name> kubectl logs mypod-1029384756-zxc0x • tailするには -f オプション(follow) • kubectl logs -f mypod-1029384756-zxc0x • 所定の時間内の出力を表示するには --since で時間を指定 kubectl logs -f since 1m mypod-1029384756-zxc0x 12
Cloud Native Developers JP 実行中のPodで任意のコマンドを実行する • kubectl exec <pod name>
<command> でOK • “hello world”を出力 kubectl exec mypod-1029384756-zxc0x echo hello world • シェルにアクセス kubectl exec -it mypod-1029384756-zxc0x /bin/bash 13
Cloud Native Developers JP 14 Fin