Macのbrewを使ったeksctlインストールは非推奨に!安全なインストール方法
これまで、eksctl コマンドを利用した EKS の操作についていくつか紹介してきました。
その中で、brew の「weaveworks/tap/eksctl」を使うシーンがあったのですが、2023 年現在、サードパーティー製のインストーラーで導入することが非推奨になっているようです。
ここでは、brew で導入した eksctl のパッケージを削除して、ソースコードからインストールする方法を紹介します。
brewからのインストールは推奨されていない
eksctl の GitHub のサイトを見ると、以下の記載が。
サードパーティー製のツールは非推奨になったよということですね。
インストールやアップデートは今でもできるので、このまま利用している人もいるハズ。
$ brew install weaveworks/tap/eksctl
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 3 taps (weaveworks/tap, homebrew/core and homebrew/cask).
==> New Formulae
ast-grep clive debugbreak libabigail libzen pocketbase roblox-ts rye svlint virtualfish yamlfmt
boolector convco dzr libclc lpeg quantum++ rojo staq svls wally
==> New Casks
dadroit-json-viewer kiibohd-configurator synology-cloud-station-backup
eobcanka lg-onscreen-control synology-photo-station-uploader
focusrite-control linn-konfig synology-surveillance-station-client
fractal-bot llamachat synologyassistant
hdhomerun lo-rain tiptoi-manager
hp-easy-start nordic-nrf-command-line-tools uhk-agent
huiontablet philips-hue-sync wacom-tablet
insta360-studio qflipper
jabra-direct smooze-pro
You have 37 outdated formulae installed.
アップデート後のバージョン確認結果は以下の通り。
$ eksctl version
0.141.0
サードパーティー製ツールからアンインストール
ということで、サードパーティー製のインストーラーからの eksctl は削除しちゃいましょう。
$ brew remove weaveworks/tap/eksctl
Uninstalling /usr/local/Cellar/eksctl/0.141.0... (8 files, 139.3MB)
eksctlのインストール
GitHub のサイトでは、以下のように注意事項が記載されています。
eksctl is available to install from official releases as described below. We recommend that you install eksctl from only the official GitHub releases. You may opt to use a third-party installer, but please be advised that AWS does not maintain nor support these methods of installation. Use them at your own discretion.
eksctlは、以下に説明する公式リリースからインストールすることができます。公式のGitHubリリースからeksctlをインストールすることをお勧めします。サードパーティのインストーラーを使用することもできますが、AWSはこれらのインストール方法を維持またはサポートしていないことに注意してください。自己責任で使用してください。
ところで、brew のパッケージにある eksctl(weaveworks/tap/eksctl ではない)はどういったものなのでしょうね。
eksctl だと brew の公式リポジトリから落ちてくるだけの違いなのかな。
(manifests の先がどこに向いているのかは確認できてないですが)
Fetching eksctl
=> Downloading https://ghcr.io/v2/homebrew/core/eksctl/manifests/0.143.0
weaveworks/tap/eksctl だと github からダウンロードされてきている。
Fetching weaveworks/tap/eksctl
=> Downloading https://github.com/weaveworks/eksctl/releases/download/v0.143.0/eksctl_Darwin_amd64.tar.gz
ということで、eksctl のパッケージを brew でインストールしていた場合も一旦、削除しちゃいましょうか。
$ brew remove eksctl
Uninstalling /usr/local/Cellar/eksctl/0.141.0... (5 files, 137.9MB)
では公式の説明通り、「For Unix」の段落を参考にします。
sha256sum のところは、Mac だと shasum に置き換えですかね。
shasum -a 256 –check
どうせなら Mac のインストール手順も書いておいてほしいなぁ。
$ ARCH=amd64
$ PLATFORM=$(uname -s)_$ARCH
$ curl -sLO "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
$ curl -sL "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_checksums.txt" | grep $PLATFORM | shasum -a 256 --check
eksctl_Darwin_amd64.tar.gz: OK
$ tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz
$ sudo mv /tmp/eksctl /usr/local/bin
$ eksctl version
0.143.0
まとめ
eksctl の Mac への導入について、最新の情報を紹介してきました。
brew などパッケージ管理に委ねると何かと楽なのですが、やはりサードパーティー製のツールはメンテナンスに困ります。
GitHub Actions の action や Kubernetes のアドオンなど、便利な半面、セキュリティにも気をつけなければいけないですしね。