‫Kubernetesについては､ 以前このパートで「割と無党派層が多い」と言ったことがありますね｡
‫つまり､ ツールやコマンドの一式を提供するものであり､
‫一つのやり方を規定するものではないのです｡
‫やり方が多ければ多いほど､ 好きな道を選べばいいだけなので､
‫無党派層と言えるかもしれませんね｡
‫前のセクションで､ Kubernetesを行う､ あるいはKubernetesのワークロードを管理するための3つの主要な方法についてお話しましたね｡
‫3つ目は､
‫宣言型､ つまり完全に宣言的な方法ですが､ このセクション全体で取り上げたいのは､
‫この方法です｡
‫つまり､ 私たちは主にYAMLとそれがKubernetesでどのように機能するかに焦点を当てることになります｡
‫このセクション全体で宣言的な方法を取り上げる理由は､
‫それがよりDevOpsのスタイルに近いからです｡
‫インフラストラクチャー・アズ・コードや､ 新しい用語であるgit-opsは､
‫YAMLや設定をgitリポジトリに保存し､ git-commitを使ってインフラストラクチャーを変更することを目的としています｡
‫ここではあまりgit-opsには触れませんが､
‫実際にはDevOpsの自動化スタイルをコンフィギュレーションに適用するだけです｡
‫Kubernetesでそれを行うには､ YAMLを使うのが一番です｡
‫いいことに､
‫ここで学ばなければならないコマンドはほとんどありません｡ 本当に､ すべての焦点は､ 異なるYAMLフォーマットを学ぶことにあります｡
‫ここでは､ kubectl applyコマンドに-fを付けて､
‫渡したいファイルはここだよと伝えています｡
‫何かを作るときに使うコマンドですね｡
‫何かを更新するとき､ 設定を編集するとき､ 画像を変更するときなど､
‫何かしたいときに使うコマンドです｡
‫それは同じコマンドです｡
‫その点では､ Swarmのスタックデプロイのように､ YAMLを更新して同じコマンドを与え続けるだけでよいというのは､ 非常によく似ています｡
‫このセクションでは､ kubectl
‫create､ edit､ replaceなどのコマンドを使用する中間のタイプのデプロイはスキップするつもりです｡
‫彼らはしっかりとしたDevOpsの仕組みを持っておらず､
‫このコースはDevOpスタイルのコンテナに関するものです｡
‫だからこそ､ 私たちは努力したいのです｡
‫このスライドの免責事項として､ 確かにそれらのコマンドを使うことはできますが､
‫それはKubernetesを使うべき主要な方法ではないことを理解しておいてください｡
‫私が推奨する方法だからといって､ 他にいろいろな可能性がないわけではありません｡
‫それでは､ applyコマンドのさまざまな使い方の例をいくつか挙げてみましょう｡
‫YAMLファイルを指定すれば､ その中にあるものを適用してくれることはおわかりいただけたと思います｡
‫展開なのかもしれませんね｡ ポッドだけかもしれませんが｡
‫サービス､ ジョブ､ cronジョブ､
‫またはその他のリソースかもしれません｡
‫この-fはディレクトリ全体に対して働きますので､
‫たくさんの異なるオブジェクトやリソースを異なるファイルに分散させることができます（リソースごとに1ファイル）｡
‫それらをすべてディレクトリに入れることができます｡
‫そのディレクトリを指定すれば､ それらすべてを取り込むことができるのです｡
‫もちろん､ 1つのYAMLファイルに複数のリソースを持たせることもできますので､
‫すぐにその様子をお見せします｡
‫ここでもう一つ興味深いのは､ URLを指定してのkubectlの適用です｡
‫私たちはその-fを与えていますが､ そこではファイルは技術的にURLになっています｡
‫それを知る方法は､
‫HTTPプロトコルを介して行われます｡ 私の場合､ いくつかの事例があるドメインを作成しました｡
‫ポッドがあります｡ yamlファイルがあるので､ 技術的にはこのコマンドを実行すればうまくいくはずです｡
‫ポッド1個を展開することになる｡
‫ただ､ インターネット上で何かを引っ張ってきてダウンロードするのは一つの方法だと思うので､
‫これらのファイルには注意してください｡
‫KubernetesでYAMLファイルを1行で実行するのは全くの別物です｡
‫これは､ シェルに何かをcURLすることで､
‫ファイルを見ることなくシステム上で実行できるようにするのと同じようなものですね｡
‫本当にやめておいたほうがいい｡
‫Kubernetesはそのような役割を担っているのです｡
‫モノを動かす｡ ローカルにcURLがあれば､ それをcURLするのもいいかもしれません｡
‫WindowsのPowerShellであれば､
‫そのコマンドでブラウザで開くことができます｡
‫次回の講義では､ YAMLフォーマットと､ これらのオブジェクトをどのように作成するかを見ていきましょう｡