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
company deck
japanrecruiting
0
220
【新卒採用資料】Natee Company Deck _202508
nateehr
0
290
Cierpa&Co._Culture Deck_202509
cierpa0905
PRO
0
1.3k
Tools & Treasures: Find Auction Items That WOW
auctria
PRO
0
170
『ふりかえる力』を育み、メンバーの自走力を高める 1 on 1 / 1-on-1 sessions to foster self-reflection
tbpgr
1
1.1k
Data Cloudで実現する、 Agentforce が飛び交う Next Generation Platform
marreta27
0
150
エニグモ_会社紹介資料
enigmo_hr
0
1.7k
拝啓、登壇回数0回だった一年前の私へ
natty_natty254
5
280
Rakus Career Introduction
rakus_career
0
390k
No.1ビジネスを創り出す カテゴリー戦略の実践ガイド
shunsukemori
0
150
営業職/新卒向け会社紹介資料(テックファーム株式会社)
techfirm
1
940
【エンジニア職】中途採用向け会社説明資料(テックファーム株式会社)
techfirm
0
5.6k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Automating Front-end Workflow
addyosmani
1370
200k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Docker and Python
trallard
46
3.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Become a Pro
speakerdeck
PRO
29
5.5k
KATA
mclloyd
32
14k
The Invisible Side of Design
smashingmag
301
51k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Agile that works and the tools we love
rasmusluckow
330
21k
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クラスタを制御す るアプリを作ろう