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
410
オリジナルのKubectlを作る
katsunori nakajima
June 25, 2021
Tweet
Share
More Decks by katsunori nakajima
See All by katsunori nakajima
Kubernetesクラスタを組む
karosuwindam
0
400
Other Decks in Business
See All in Business
SASアピールブック(Web公開版)
sas_si
0
1.2k
「原因不明なナゾの障害」で終わらないための Kubernetes のログの徹底活用
googlecloudjapan
0
210
Biz/Dev二刀流からの実践知 - 大企業で挑むプロダクト開発における思考と判断 -
ryo_k
1
170
malna-recruiting-pitch
malna
0
11k
FABRIC TOKYO会社紹介資料 / We are hiring(2025年10月07日更新)
yuichirom
36
350k
ITで設備を制御する
tmizushima
0
380
株式会社トリビュー|会社説明資料 / Company Deck
tribeau
5
19k
【Progmat】Monthly-ST-Market-Report-2025-Sep.
progmat
0
520
採用ピッチ資料
mimirin
0
100
株式会社LANY / Company Deck
lany
2
83k
「つくる」から「考える」へ ― PdMの重⼼をシフトさせるために
itsukikacky
0
840
アッテル会社紹介資料/culture deck
attelu
10
15k
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Music & Morning Musume
bryan
46
6.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
A Tale of Four Properties
chriscoyier
161
23k
Why Our Code Smells
bkeepers
PRO
340
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Site-Speed That Sticks
csswizardry
13
920
Facilitating Awesome Meetings
lara
57
6.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
Done Done
chrislema
185
16k
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クラスタを制御す るアプリを作ろう