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
プラスディーアンドシー合同会社 FACTBOOK _ver1.51_20250801
plusdc
PRO
0
200
家族アルバム みてね 事業紹介 / Our Business
familyalbum
6
46k
Corporate Story (GA technologies Co., Ltd.)
gatechnologies
0
180
Terra Charge|会社紹介 / Terra Charge Company Profile
contents
0
11k
2011年 「ぼっちが懇親会でするべき97のこと」 #97bocchi から積み重ねた【令和7年最新】技術コミュニティ交流戦略2025
bash0c7
0
520
プレミアグループ 会社紹介資料/Premium Group Company Profile
pgsaiyo1112
0
280
2025年版株式会社オーご紹介資料
ohbame
0
120
【会社紹介資料】株式会社エーピーコミュニケーションズ
apcom
0
5.8k
提案レベルを上げてみたら、私の『提案』が『進捗』になっていた件
natty_natty254
26
15k
株式会社BANKEY 会社説明資料(Aug.26.2025)
bankey
0
1.9k
メドピアグループ紹介資料
medpeer_recruit
10
140k
営業職/新卒向け会社紹介資料(テックファーム株式会社)
techfirm
1
930
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Docker and Python
trallard
45
3.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Fireside Chat
paigeccino
39
3.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
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クラスタを制御す るアプリを作ろう