オリジナルのKubectlを作る
by
katsunori nakajima
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
オリジナルのKubectlを作 る 2021/06/25
Slide 2
Slide 2 text
Kubectlとは • Kuberentesの制御のCUIツール • DeploymentやServiceなどのリソース情報を制御できる • ~/.kube/configに書かれた情報(kubeconfig)をもとに Kubernetesネットワークにアクセスする
Slide 3
Slide 3 text
Kubectl get pod –A kubectl –n namespace describe pod kubectl get service –A kubectl –n namespace describe service
Slide 4
Slide 4 text
PodとServiceを調べたりすることを ワンラインでできないのか?
Slide 5
Slide 5 text
Client-goというgo言語のライブラリがあ る
Slide 6
Slide 6 text
Client-goとは • KubernetesのAPIをたたくGo言語のライブラリ • これを使用すれば、Kubernetesの制御をプログラミングできる
Slide 7
Slide 7 text
使用するには • Go言語 v1.16以上のインストール • Kubernetes環境 • Kubeconfig(ローカルテスト用) • VS Code(開発環境)
Slide 8
Slide 8 text
Go言語の使い方 • Go言語をv1.14からv1.16にアップデートで苦労したので • modファイルを作らないとbuildができない • go init mod 適当な名前 • 使用するpackageはmodに書かれていないとエラー • go get パッケージ • 「./フォルダ」で呼び出していたローカルライブラリの書き方 は、「モジュール名/フォルダ」で呼び出すことが可能
Slide 9
Slide 9 text
• 300行ぐらいで、以下のようなアプリができた。
Slide 10
Slide 10 text
まとめなど • Client-goを使用して、pod名とネームスペース、それに紐づい たserviceやポートを取得するアプリができた。 • コンテナ化して、podの情報監視も可能
Slide 11
Slide 11 text
Client-goを使用して Kubernetesクラスタを制御す るアプリを作ろう