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
katsunori nakajima
June 25, 2021
Business
0
400
オリジナルのKubectlを作る
katsunori nakajima
June 25, 2021
Tweet
Share
More Decks by katsunori nakajima
See All by katsunori nakajima
Kubernetesクラスタを組む
karosuwindam
0
390
Other Decks in Business
See All in Business
JMDC 会社紹介資料 /About JMDC
jmdc
6
370k
メモ帳マニュアル
takamiyata
0
130
LW_brochure_business
lincwellhr
1
57k
株式会社LANY / CULTURE BOOK
lany
0
900
HRbase 労務開発説明資料
maka
0
330
_iSM_採用ピッチ資料_改訂版_20250605.pdf
ism_terada
0
190
プロジェクトにおける政治について
ichimichi
18
4k
株式会社BALLAS 会社案内
ballas_inc
0
19k
AIUX is Agentic UX
kan
0
250
unnameカルチャーブック 2025.06.09 update
unnameinc
7
21k
アッテル会社紹介資料/culture deck
attelu
10
14k
Sales Marker Culture book
salesmarker
PRO
35
54k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Raft: Consensus for Rubyists
vanstee
139
7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Done Done
chrislema
184
16k
We Have a Design System, Now What?
morganepeng
52
7.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
A better future with KSS
kneath
239
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
Transcript
オリジナルのKubectlを作 る 2021/06/25
Kubectlとは • Kuberentesの制御のCUIツール • DeploymentやServiceなどのリソース情報を制御できる • ~/.kube/configに書かれた情報(kubeconfig)をもとに Kubernetesネットワークにアクセスする
Kubectl get pod –A kubectl –n namespace describe pod kubectl
get service –A kubectl –n namespace describe service
PodとServiceを調べたりすることを ワンラインでできないのか?
Client-goというgo言語のライブラリがあ る
Client-goとは • KubernetesのAPIをたたくGo言語のライブラリ • これを使用すれば、Kubernetesの制御をプログラミングできる
使用するには • Go言語 v1.16以上のインストール • Kubernetes環境 • Kubeconfig(ローカルテスト用) • VS
Code(開発環境)
Go言語の使い方 • Go言語をv1.14からv1.16にアップデートで苦労したので • modファイルを作らないとbuildができない • go init mod 適当な名前
• 使用するpackageはmodに書かれていないとエラー • go get パッケージ • 「./フォルダ」で呼び出していたローカルライブラリの書き方 は、「モジュール名/フォルダ」で呼び出すことが可能
• 300行ぐらいで、以下のようなアプリができた。
まとめなど • Client-goを使用して、pod名とネームスペース、それに紐づい たserviceやポートを取得するアプリができた。 • コンテナ化して、podの情報監視も可能
Client-goを使用して Kubernetesクラスタを制御す るアプリを作ろう