Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
kubectlの基礎
Search
hhiroshell
February 28, 2018
Technology
1.3k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
kubectlの基礎
hhiroshell
February 28, 2018
More Decks by hhiroshell
See All by hhiroshell
Maximizing Launch Reliability: Controlled Lift-off for Reliable Application Startup on Kubernetes
hhiroshell
0
88
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
260
Platform Engineering from the CNCF Perspective
hhiroshell
0
90
Maximizing the Launch Reliability: Ensuring Stable Application Lift-off and Orbit on Kubernetes
hhiroshell
0
130
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
400
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
5
930
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び / Challenges and Lessons in Building an Ultra-Large-Scale Platform at LY Corporation
hhiroshell
3
1.9k
Architecting Kubernetes-Based Internal Developer Platforms: Essential Patterns and Practices
hhiroshell
0
330
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
320
Other Decks in Technology
See All in Technology
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
120
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
330
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
300
dbt と Snowflake と tag
kevinrobot34
1
280
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
0
320
Introduction to Bill One Development Engineer
sansan33
PRO
0
470
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
0
390
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
310
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
Deep Space Network (abreviated)
tonyrice
0
270
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Designing for Performance
lara
611
70k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
480
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
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