ライト級Kubernetesについてのすべて


Kubernetesは、アプリケーションの展開、自動スケーリングと管理を自動化するために業界で広く使用されているオープンソースコンテナのオーケストレーションツールです.Kubernetes(K 8 S)クラスタの作成はかなり退屈な仕事です.しかし、使用しない場合は、もはやk3s - Lightweight Kubernetes . わずか数コマンド内でクラスタが稼働しています.もう少し深く掘りましょう.

K 3 Sとその歴史


K 3 Sはオープンソースで、100 MB以下のバイナリでパッケージ化されたKubernetesの軽量配布です.それは、最初のコンポーネントとして起動されましたRio , Rancher Labsによって開始された実験プロジェクトは、その効率と高い需要のために、彼らは別のオープンソースプロジェクトとしてそれを起動しました.K 19 Sは、2019年2月26日に公式に開始されました.
それは、エッジ、IOT、CI、開発、腕と埋め込みK 8 sのK 3 Sの大成功を見てきました.これは、単一ノードだけでなく、マルチノードクラスタとしてインストールすることができます完全に一致する生産Kubernetes分布です.

アーキテクチャ



上の画像はK 3 Sの基本アーキテクチャを示しています.K 3 Sの場合、2つの主要なコンポーネントがあります.k3s server and k3s agent 例えばmaster node and worker node K 8 Sで両方ともserver and agent , 他のすべてのコンポーネントは、それぞれのコンポーネントが個々のプロセスとして実行されるK 8 Sとは異なり、それが本当に軽量になる単一のプロセスとして一緒に実行されます.実際、シングルノードクラスタの場合、server and agent は、90年代以内にクラスタをスピンさせるのを助ける一つのノードの一つのプロセスとして実行することができます.ほとんどのコンポーネントはK 8 sで使用されているものと似ており、それらの機能もK 8 sSQLite , Tunnel Proxy and Flannel これはk 3 sで紹介されています.個々のコンポーネントの詳細な理解のために見てくださいk8s documentation .
話すSQLite , の置換ですetcd これはK 8 sで使用され、etcd シングルノードクラスタの実行SQLite しかし単一ノードの場合のみです.ha 3 sクラスタの場合,外部データベースを使用する.来るTunnel Proxy , basically kube-proxy で接続するポート数を使用するapi-server , しかし、K 3 Sの場合にはapi-server …の助けを得てtunnel proxy . 場面の後でtunnel proxy 片方向接続を作成するapi-server しかし、一旦接続が確立されるならば、双方向通信は可能にされます、そして、これはコミュニケーションのために単一のポートを使用することによってより安全な接続を作ります.クラスタネットワーキングFlannel のコンテナネットワークインターフェイス(CNI)として使用される画像で見ることができます.
したがって、これはK 3 Sアーキテクチャの一般的な洞察です.詳細についてはdocumentation .

クラスタのセットアップ


Kubernetes(K 8 S)クラスタの設定は、非常に多忙なタスクですが、K 3 Sの場合ではありません.我々は簡単にいくつかのコマンドの中でK 3 Sシングルノードまたはマルチノードクラスタを設定することができます.このブログでは、シングルノードのセットアップから始まるメソッドを発見します.

単一ノードクラスタ


単一のノードK 3 Sクラスタを作成したり、K 3 Sサーバーを設定するだけのケーキです.我々はただ一つのコマンドを展開する必要があります、そして、それはあなたのためにK 3 Sサーバをつくります.
次のコマンドを実行してください.
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644
上記のコマンドでは、余分なフラグI . Eを使用しています.--write-kubeconfig-mode . デフォルトでは、/etc/rancher/k3s/k3s.yaml rootユーザーの読み込み権限のみを持っています.したがって、他のユーザーにも読みやすいようにする必要があります.
それはすべて、我々は正常に我々のK 3 Sシングルノードクラスタを設定している.

マルチノードクラスタ


マルチノードクラスタの設定も非常に簡単です.私たちはほんの少数のコマンドで私たちのマスターのための多くのノードの労働者ノードを持つことができます.あなたの高可用性(HA)生産グレードK 3 Sクラスタを設定する手順に従ってください.
Step 1まず最初に、同じコマンドを使用して単一ノードクラスタの場合と同様にサーバーを設定する必要があります.
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644
Step 2その後、以下のコマンドから、我々はノードトークンを見つけなければなりません.そして、それはあなたがクラスタのために欲しい多くの労働者ノードを加えるために、K 3 Sエージェントによって更なる使用されます.
sudo cat /var/lib/rancher/k3s/server/node-token
Step 3次のコマンドは、上記のコマンドから設定したマスターノードのためのK 3 Sエージェントを作成するために使用され、マスターノードから抽出されたサーバーIPとノードトークンを使用します.替えてくださいmy-server and node-token 上記のコマンドから生成したマスターノードIPとトークンから.
以下のコマンドを別のインスタンス/システムで実行して、作成したマスターのためのワーカーを作成します.
curl -sfL https://get.k3s.io | K3S_URL=https://my-server:6443 K3S_TOKEN=node-token sh -
ビンゴ!ha生成グレードk 3 sクラスタを成功裡に設定した.現在、我々はK 3 Sクラスタで我々の展開から始める準備ができています.
さて、クラスタの設定方法を理解した後、K 3 Sを使用する利点を見てみましょう.

K 3 Sの利益

  • クイックインストール
  • リソースが少ない.
  • セットアップクラスタに簡単です.
  • サイズが小さい.
  • ノードの追加/削除は非常に簡単です.
    これらはK 3 Sクラスタを持つ利点のいくつかである.今、問題は、それは本当に業界で使用されている発生?
  • K 3 Sを使った企業


    その簡単な構成と柔軟な性質のためにRaspberry Pi または1と同じくらい大きい何かAWS a1.4xlarge 32GiB server , それは、彼らの生産の組織によって高く採用されます.K 3 Sを使っている企業のいくつかは-

  • Civo - クラウドネイティブサービスプロバイダ

  • Qubitro - IOTプラットフォームを設計・開発するプラットフォーム.

  • LoyaltyHarbour - eコマースストアのサポートを提供します.

  • TWave - 状態監視システム

  • Lunar Ops, Inc - ブロンクス、NYに拠点を置くサービス会社としてのデップ
  • それで、これらは彼らの生産でK 3 Sを使用している会社のほとんどです.

    私は次に何をやっていますか?


    そこで、このブログでは、K 3 S、アーキテクチャ、クラスタのセットアップ、利点、企業を利用した深い分析を行っています.あなたが疑問を持っているならば、私に連絡するか、あなたの疑問をコメントしてください.間違いなくできるだけ早く解決しようとします.
    現在、私はまた、セットアップのための別のブログに取り組んでいますDevtron K 3 Sシングルノードクラスタのトップで、すぐにコミュニティと私の仕事を共有します.

    デフトロン研 / デボン


    Kubernetesのためのソフトウェア配送ワークフロー