あなたの側プロジェクトのためにラズベリーパイK 8 sサーバーを構築してください


これまでにあなたのあなたの側プロジェクトを出荷すると思ったが、それは雲のコストに費やすお金の価値がないように感じたことがありますか?
これは、このプロジェクトを構築する私の最大の動機だった:すべての私の側のプロジェクトのためのホスティングソリューション.それで、私が私が来た解決を共有させてください.
このプロジェクトの目標は以下の通りです.
  • 私のケースでローカルネットワークや無線LAN上の誰にもアクセスできます.
  • 低いメンテナンス.
  • 簡単に展開または変更を行う.
  • これらを達成するには、
  • ラズベリーパイ(私は新しい4 Bモデルを使用しました)、少なくとも4 GBのメモリと合計で4つの芯で.
  • あなたのパイの上の少なくとも20 GBの無料記憶装置.
  • あなたのローカルネットワークの資格情報を使用する場合は、無線LANを使用している.
  • USBキーボード、HDMIスロット、マイクロHDMIケーブル付きのモニター.
  • 大丈夫、一旦それらが適当であるならば、始めましょう.
  • インストールRaspberry Pi Imager
  • あなたのmicroSDカードの上でUbuntu 20.04.02 LTS(64ビット版)をインストールしてください.

  • Edit the network config ( WiFiを使用している場合のみ).
  • あなたのSDカードをパイのスロットに置いてください.キーボードとモニターをPIに接続して、PIを力に接続してください.
  • 一旦それが起動するならば、それはログインとパスワードを求めます.用途ubuntu 両方のために、それはあなたがパスワードを変更するプロンプトが表示されます.パスワードを設定します.
  • サーバを再起動します.sudo reboot
  • インストールnet-tools パッケージ.sudo apt-get install net-tools
  • ネットワーク上のサーバーのIPアドレスを取得します.このために我々はできるifconfig そして、それを見つける.あなたがこのセットアップのためにWiFiを使用したならば、以下を見てくださいwlan0 ヘッダ.
  • sshを設定します.コンピュータでコマンドを実行するssh-copy-id ubuntu@<ip_of_your_server> . これは、パスワードのプロンプトが表示されます.それを供給しなさい.また、使いやすさのためのPIのカスタムホスト名を使用してSSHの設定ファイルを更新します.
  • 今すぐリモートでモニタまたはキーボードを必要とせずにサーバーにアクセスすることができますあなたのPIに接続します.
  • 今すぐセットアップが完了です.あなたのアプリを展開するには、多くの方法があります.この投稿ではMicroK8s
  • あなたのpiにssh.
  • 有効化cgroups あなたのパイで.追加cgroup_enable=memory cgroup_memory=1 to the end of /boot/firmware/cmdline.txt piで.
  • リブート.sudo reboot
  • microk 8 sをインストールします.sudo snap install microk8s --classic
  • 現在のユーザをmicrok8s グループへのアクセス.kube キャッシュディレクトリ
  • sudo usermod -a -G microk8s $USER
    sudo chown -f -R $USER ~/.kube
    
  • クラスタを起動します.microk8s start
  • ステータスチェック.microk8s status
  • あなたのローカルネットワーク上であなたのアプリを公開するためのDNS、イングルを有効にします.microk8s enable dns ingress
  • ゲットkubectl クラスタの設定.microk8s config
  • コピーするkubectl お使いのコンピュータからの制御プレーンへのアクセスを可能にするために、上記のステップをコンピュータに得ました.これはクラスタにアクセスしたいときにサーバにsshする必要がなくなります.
  • 現在、我々の単一のノード・クラスタはセットアップと準備ができています.プロジェクトをパッケージとしてパッケージ化することができます.
    あるいは、K 8 sを知らないか、それを使用したくないなら、あなたはまだ単純なDockerコンテナとしてあなたのプロジェクトを展開することができます、あるいは、明白な古いサービスとしてさえ、このセットアップはまだ働きます.
    それで、我々は我々のゴールに会いましたか?
  • ローカルネットワークからアクセスできるものを作りました.✅
  • あなたがリソース制限を持っていて、常にそれを力とネットワークに接続するならば、サーバーはすばらしいでしょう.✅
  • 以来、私はK 8 sの展開を使用して変更を作る風です.私もDocker画像の建物を自動化する私のプロジェクトのGithubアクションを使用します.したがって、効果的に1つのコマンド😉) 配備されたプロジェクトに新しい変更を適用する必要があります.kubectl rollout restart deployment/<deployment_name>
  • ハッピーハッキング!今日は新しい何かを学びました😄.