LoginSignup
5
4

More than 3 years have passed since last update.

ちょっとリモートに kubernetes が欲しいと思った時に爆速で立ち上げられる k3sup が最高

Last updated at Posted at 2021-04-22

k3sup とは

alexellis/k3sup: bootstrap Kubernetes with k3s over SSH < 1 min 🚀

k3supは、ローカルまたはリモートのVMでk3を使用してゼロからKUBECONFIGに移行するための軽量ユーティリティです。 必要なのは、sshアクセスとk3supバイナリだけで、kubectlアクセスをすぐに取得できます。 このツールはGoで記述されており、Linux、Windows、MacOS、さらにはRaspberryPi用にクロスコンパイルされています。
(Google 翻訳)

1 分未満との謳い文句は伊達じゃない。

Mac から EC2 の Kubernetes

とりあえず k3sup のインストール。
kubernetes のセットアップとしては、 k3sup install のみ。
ちゃんと覚えていないけど、これだけで /usr/local/bin/k3sup に入ったのではないかな。

curl -sLS https://get.k3sup.dev | sh

EC2 インスタンの起動。パラメータはよしなに。
(セキュリティグループは、インバウンドで、22 と 6443 が開いていればとりあえずアクセスできるのかも?下記は全開でやってしまった...あとでちゃんと調べる。)

EC2_INSTANCE_ID=$(aws ec2 run-instances \
  --image-id ami-06098fd00463352b6 \
  --count 1 \
  --instance-type c5a.xlarge \
  --key-name your-key-pair-name \
  --security-group-ids sg-0b0ab36abc07d8119 \
  --tag-specifications 'ResourceType= instance,Tags=[{Key=Name,Value=k3sup}]' \
  --output text \
  --query 'Instances[0].InstanceId')

起動チェック。pending から running になったら次へ。

watch -n 3 \
  aws ec2 describe-instances \
  --instance-ids=${EC2_INSTANCE_ID} \
  --output text \
  --query 'Reservations[0].Instances[0].State.Name'

Public IP を取得。

EC2_INSTANCE_PUBLIC_IP=$(aws ec2 describe-instances \
  --instance-ids=${EC2_INSTANCE_ID} \
  --output text \
  --query 'Reservations[0].Instances[0].PublicIpAddress')

k3sup 実行!

k3sup install \
  --ip ${EC2_INSTANCE_PUBLIC_IP} \
  --user ec2-user \
  --ssh-key ~/.ssh/your-key-pair-name.pem

kubeconfig というファイルがカレントディレクトリに作成されているので、 kubectl をダーンっと。

kubectl --kubeconfig=kubeconfig get pod -A -w

以上。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4