オリジナルのKubectlを作る
by
katsunori nakajima
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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クラスタを制御す るアプリを作ろう