doridoridoriand’s diary

主に技術的なことを書いていく予定(たぶん)

AnsibleでKubernetes開発に必要なツールをインストールする

小ネタです。 Kubernetes開発用の作業用サーバーを構築する時に書いたので、何となく書いてみます。 EC2ならユーザーデータとかでやればええやんとかいう正論は受け付けません

一応理由を説明すると、

  • 起動時に毎回インストール作業が実行されるのがあまりよろしくない
  • インストールされているか否かをチェックするスクリプトを書き始めたら、そもそもユーザーデーターの責務では無い気がした(ユーザーデーターに記述されている内容は、起動時に毎回実行されるべきなはず)
  • 様々な資産があり、慣れているAnsibleで書いたほうが良いのでは?

という理由によるものです

インストール内容

作業サーバー(ツール群をインストールする対象のサーバー)のOSはAmazonLinux2を利用しています。今回は以下のツールをインストールしました

最近のツールはバイナリを放り込めば完成するパターンのものが多いので、インストールが楽になりました。 これらツールも例に漏れずバイナリ(もしくは単体のスクリプト)を放り込めばインストールが完了します

できたもの

早速結果を貼っちゃいます

kubectl

kubectx

kubens

eksctl

get_urlunarchive が素晴らしいので特筆すべきことは無いのですが、全てバージョン等を指定せず、Ansible実行時の最新を持ってくるように書いています。冪等性をあえて乱すような書き方をしていますが、Kubernetes界隈は開発が活発なので、常に新しいものを使うのが正義であると考え、この形にしています

Kubernetesの作業用サーバーを用意するといった考え方がもう古いような気もしますが、忘備録的にまとめてみました