Rancher Labsがまた面白いものを開発していたので、早速k3sを試してみました。
使い方を3行で
- 対応するアーキテクチャー用のk3sバイナリーをダウンロード
k3s server &
を実行してちょっと待つk3s kubectl get no
でノードの情報が出てきたら構築完了
使うまでの流れ
それでは早速使ってみます。まず、ARMv7かARM64か、もしくはx86_64のLinuxをインストールします。 本例では64bit版のUbuntu Serverを使いました。
あとは公式サイトやGitHub k3s Projectにあるようにコマンドを実行するだけです。この記事を書いた時点で最新のv0.1.0を導入する流れを書いてみます。
ノードが構築されるまで、少々時間を要します。
$ sudo -i # wget https://github.com/rancher/k3s/releases/download/v0.1.0/k3s # chmod +x k3s # mv k3s /usr/local/bin # k3s server & ... # k3s kubectl get no NAME STATUS ROLES AGE VERSION ubuntu-k3s Ready <none> 13m v1.13.3-k3s.6
試しにPodを作ってみましょう。
# cat hello.yml apiVersion: v1 kind: Pod metadata: name: hello-world spec: containers: - name: busybox image: busybox tty: true # k3s kubectl apply -f hello.yml
Podが作られたのが確認できます。
# k3s kubectl get -f hello.yml NAME READY STATUS RESTARTS AGE hello-world 1/1 Running 0 6m12s # k3s kubectl exec -it hello-world -- hostname hello-world
kubectlコマンドで操作するには
k3sで構築したKubernetesのKubeconfigは/var/lib/rancher/k3s/server/cred/kubeconfig-system.yaml
に存在しました。
なので、次のように処理するとkubectl
コマンドを使って操作可能です。
デプロイされたKubernetesはv1.13.3だったのが先にコマンドを実行した結果わかっているので、対応するkubectlコマンドをダウンロードします。今回はx86_64で動かしているので、64bit版のLinux用kubectlをダウンロードします。
# curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.13.3/bin/linux/amd64/kubectl # chmod +x kubectl # mv kubectl /usr/local/bin/ # cat /var/lib/rancher/k3s/server/cred/kubeconfig-system.yaml > ~/.kube/config # kubectl get no NAME STATUS ROLES AGE VERSION ubuntu-k3s Ready <none> 32m v1.13.3-k3s.6
ちなみに書き忘れていましたが、シングルノードではシステムを再起動してもk3s server &
を再実行したら元の状態に戻せました。