1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【仮想環境なし】ゼロから始めるk3s構築【Kubernetesわかんない人向け】

Posted at

弊社でKubernetesをメインとして使っていますがよくわからなかったので自分で構築してみることにします。
学習のために本番と近しい環境にしたいので今回はあえて仮想環境を使わずに構築します。


ここからは不要な方は飛ばしてもOK

基礎情報 Kubernetesとは何か

Kubernetes(通称「k8s」)
デプロイとかスケーリング、管理を自動化するためのオープンソースのプラットフォームです。
Dockerはコンテナごとに1つの機能しか動かせませんが、
Kubernetesを使えば、複数のコンテナをまとめて管理したり、一緒に動かすことができます!

基礎情報 Kubernetesの基本構成

  • クラスター
    ノードを1つのクラスターとしてまとめて管理します。

  • マスターノード
    Kubernetes自体を制御、管理します。

  • ノード
    アプリケーションなどを実際に実行します。クラスターの中に複数のノードが存在します。

  • ポッド
    コンテナをまとめた最小単位です。通常、1つのポッドの中には最低1つまたは複数のコンテナが入っていて、同じネットワークやストレージを共有しています。

  • コンテナ
    Dockerコンテナのことをさします。

図にするとこんな感じ。

早速やっていく

今回はk3sを使用していきます。
本物のKubernetesにめちゃくちゃちゃ近いminikubeなんかもありますが学習コストが高いので今回は使用しません。

k3sを簡単に解説すると...

軽量なKubernetes。インストールが簡単で、メモリ使用量は半分、100MB未満のバイナリにすべてが収まります。


ここから手順になります

使うもの

  • 初期化しても大丈夫なPC
  • USB(8GB以上メモリ)

以上。

また、精密な作業なので意識のあるうちにやること(眠い時は禁物)

Windows11を使用しています。

1.バックアップを取る(必要な人)

スタートボタン → 設定 → 検索窓で「バックアップ」を検索 → Windowsバックアップをみて設定に漏れがないか確認する。

2.Ubuntuをダウンロード

今回はUbuntu Desktop 24.04.2 LTSを使用。

3.Rufusをダウンロード

窓の杜にてダウンロード。
今回はv4.7を使用。
https://forest.watch.impress.co.jp/library/software/rufus/

4.Rufusを使ってUSBにUbuntuを焼く

以下の通りに設定する。

デバイス → USBの名前
ブートの種類 → 先ほどダウンロードしたububtuファイル
パーティション構成 → GPT
ファイルシステム → FAT32v
クラスターサイズ → 16キロバイト

設定したら書き込み開始。10分くらいかかる。

5.k3sをいれる

F12を押しながら起動すると、セーフモードに入る。
(機種によって違うので、確かめること)

一番上のTry or install Ubuntuを選択して中に入る。

ここで早速問題発生。
タッチパッドが動きませんでした。
今回使用したのはdynabookのS73だったがよくよく調べてみたらlenovoでも同じ現象が起きているらしい...。
どうやらSynaptics社のタッチパッドが原因とのこと。有効化の方法があるらしいので調べてやってみてください。
私はUSB接続のマウスを使用して一旦凌ぎました。

最初の設定を終わらせて

Ctrl + Alt + Tしてターミナルを開く。

curlをインストール

$ sudo apt install curl

K3sをインストール(クラスターの構築)

$ curl -sfL https://get.k3s.io | sudo sh -

ステータス確認

# サービス起動状態の確認 (k3sサービスが起動中か、ログにエラーが出ていないかが確認できる)
$ sudo systemctl status k3s

k3sのバージョン確認

# ちなみにこのときは`v1.32.3`
$ k3s --version

nginxを立ち上げてみる!

起動

# 必ずk3sに --snapshotter=fuse-overlayfsを明示して起動させる
sudo curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--snapshotter=fuse-overlayfs" sh -

起動後の確認(ノードの確認)

# ubuntuがReadyになっていればok
sudo kubectl get nodes

nginx デプロイ(ポッドの作成)

sudo kubectl create deployment nginx --image=nginx

起動後の確認(ポッドの確認)

sudo kubectl get pods

外部公開

# nginxのPodがRunningになっていればok
sudo kubectl expose deployment nginx --port=80 --type=NodePort

ポート確認

sudo kubectl get svc

アクセスする!

ローカルIPの確認

hostname -I

ブラウザのアドレスバーに入力

http://ローカルIP:NodePort番号

🎉 画面に「いつものアレ」が表示されれば成功!

IMG_1825 (2).jpg


とりあえず構築してみたことでなんとなくな流れは掴めたような気がする。
ちなみにUbuntu入ってるUSBはめちゃくちゃ繊細なので扱いにはくれぐれも気をつけてください。


参考にした記事

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?