Skip to content

Latest commit

 

History

History
413 lines (315 loc) · 45.6 KB

README_ja-JP.md

File metadata and controls

413 lines (315 loc) · 45.6 KB

KubeKey

CI

English | 中文 | 日本語

KubeKeyは、Kubernetesクラスターをデプロイするためのオープンソースの軽量ツールです。Kubernetes/K3s、Kubernetes/K3sとKubeSphere、および関連するクラウドネイティブアドオンをインストールするための柔軟で迅速かつ便利な方法を提供します。また、クラスターのスケールとアップグレードを効率的に行うツールでもあります。

さらに、KubeKeyはカスタマイズされたエアギャップパッケージもサポートしており、オフライン環境でクラスターを迅速にデプロイすることができます。

KubeKeyはCNCF kubernetes 一致性認証に合格しています。

KubeKeyを使用する3つのシナリオがあります。

  • Kubernetes/K3sのみをインストールする
  • Kubernetes/K3sとKubeSphereを1つのコマンドでインストールする
  • まずKubernetes/K3sをインストールし、その上にks-installerを使用してKubeSphereをデプロイする

重要: 既存のKubernetesクラスターがある場合は、ks-installer (既存のKubernetesクラスターにKubeSphereをインストールする)を参照してください。

サポートされている環境

Linuxディストリビューション

  • Ubuntu 16.04, 18.04, 20.04, 22.04
  • Debian Bullseye, Buster, Stretch
  • CentOS/RHEL 7
  • AlmaLinux 9.0
  • SUSE Linux Enterprise Server 15

推奨Linuxカーネルバージョン: 4.15以降 Linuxカーネルバージョンを確認するには、uname -srmコマンドを実行します。

Kubernetesバージョン

  • v1.19:   v1.19.15
  • v1.20:   v1.20.10
  • v1.21:   v1.21.14
  • v1.22:   v1.22.15
  • v1.23:   v1.23.10 (デフォルト)
  • v1.24:   v1.24.7
  • v1.25:   v1.25.3

サポートされているバージョンの詳細については、以下を参照してください:
Kubernetesバージョン
K3sバージョン

コンテナマネージャー

  • Docker / containerd / CRI-O / iSula

Kata Containersは、コンテナマネージャーがcontainerdまたはCRI-Oの場合に、ランタイムクラスを自動的にインストールおよび構成するように設定できます。

ネットワークプラグイン

  • Calico / Flannel / Cilium / Kube-OVN / Multus-CNI

カスタムネットワークプラグインの要件がある場合、Kubekeyはネットワークプラグインをnoneに設定することもサポートしています。

要件と推奨事項

  • 最小リソース要件(KubeSphereの最小インストールの場合):
    • 2 vCPU
    • 4 GB RAM
    • 20 GBストレージ

/var/lib/dockerは主にコンテナデータを保存するために使用され、使用および操作中に徐々にサイズが大きくなります。プロダクション環境の場合、/var/lib/dockerが別のドライブにマウントされることをお勧めします。

  • OS要件:
    • SSHがすべてのノードにアクセスできること。
    • すべてのノードの時間が同期されていること。
    • すべてのノードでsudo/curl/opensslが使用できること。
    • dockerは自分でインストールするか、KubeKeyを使用してインストールできます。
    • Red HatLinuxリリースにはSELinuxが含まれています。SELinuxを無効にするか、SELinuxのモードを切り替えることをお勧めします。
  • OSがクリーンであることをお勧めします(他のソフトウェアがインストールされていない)。そうしないと、競合が発生する可能性があります。
  • dockerhub.ioからのイメージのダウンロードに問題がある場合は、コンテナイメージミラー(アクセラレータ)を準備することをお勧めします。Dockerデーモンのレジストリミラーを構成する
  • KubeKeyはデフォルトでOpenEBSをインストールして、開発およびテスト環境のLocalPVをプロビジョニングします。これは新しいユーザーにとって非常に便利です。プロダクション環境では、NFS / Ceph / GlusterFSまたは商用製品を永続ストレージとして使用し、すべてのノードに関連クライアントをインストールしてください。
  • コピー時にPermission deniedが発生した場合は、まずSELinuxを無効にすることをお勧めします。
  • 依存関係の要件:

KubeKeyはKubernetesとKubeSphereを一緒にインストールできます。バージョン1.18以降、kubernetesのインストール前にいくつかの依存関係をインストールする必要があります。以下のリストを参照して、事前にノードに関連する依存関係をチェックしてインストールしてください。

Kubernetesバージョン ≥ 1.18
socat 必須
conntrack 必須
ebtables オプションですが推奨
ipset オプションですが推奨
ipvsadm オプションですが推奨
  • ネットワーキングとDNSの要件:
    • /etc/resolv.confのDNSアドレスが利用可能であることを確認してください。そうしないと、クラスター内のDNSに関する問題が発生する可能性があります。
    • ネットワーク構成でファイアウォールまたはセキュリティグループを使用している場合、インフラストラクチャコンポーネントが特定のポートを介して相互に通信できることを確認する必要があります。ファイアウォールをオフにするか、リンク構成に従うことをお勧めします: ネットワークアクセス

使用方法

KubeKey実行ファイルの取得

  • 最速の方法はスクリプトを使用することです:

    curl -sfL https://get-kk.kubesphere.io | sh -
    
  • KubeKeyのバイナリダウンロードはリリースページにもあります。 バイナリを解凍して、すぐに使用できます!

  • ソースコードからバイナリをビルドする

    git clone https://github.com/kubesphere/kubekey.git
    cd kubekey
    make kk

クラスターの作成

クイックスタート

クイックスタートはall-in-oneインストール用で、KubernetesとKubeSphereに慣れるための良いスタートです。

注意: Kubernetesは一時的に大文字のNodeNameをサポートしていないため、ホスト名に大文字が含まれていると、後続のインストールエラーが発生します

コマンド

https://storage.googleapis.comにアクセスする際に問題がある場合は、最初にexport KKZONE=cnを実行してください。

./kk create cluster [--with-kubernetes version] [--with-kubesphere version]
  • デフォルトバージョン(Kubernetes v1.23.10)で純粋なKubernetesクラスターを作成する。

    ./kk create cluster
  • 指定されたバージョンのKubernetesクラスターを作成する。

    ./kk create cluster --with-kubernetes v1.24.1 --container-manager containerd
  • KubeSphereがインストールされたKubernetesクラスターを作成する。

    ./kk create cluster --with-kubesphere v3.2.1

高度なインストール

高度なインストールを使用すると、カスタムパラメーターを制御したり、マルチノードクラスターを作成したりすることができます。具体的には、構成ファイルを指定してクラスターを作成します。

https://storage.googleapis.comにアクセスする際に問題がある場合は、最初にexport KKZONE=cnを実行してください。

  1. まず、サンプル構成ファイルを作成します

    ./kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --filename) path]

    例:

    • デフォルトの構成でサンプル構成ファイルを作成します。ファイル名やフォルダーを指定することもできます。
    ./kk create config [-f ~/myfolder/abc.yaml]
    • KubeSphereを含む
    ./kk create config --with-kubesphere v3.2.1
  2. 環境に応じてconfig-sample.yamlファイルを変更します

注意: Kubernetesは一時的に大文字のNodeNameをサポートしていないため、workerNodeの名前に大文字が含まれていると、後続のインストールエラーが発生します

KubeSphereをインストールする場合、クラスターには永続ストレージが必要です。デフォルトではローカルボリュームが使用されます。他の永続ストレージを使用する場合は、addonsを参照してください。

  1. 構成ファイルを使用してクラスターを作成します

    ./kk create cluster -f config-sample.yaml

マルチクラスター管理の有効化

デフォルトでは、KubeKeyはKubernetesフェデレーションなしでソロクラスターのみをインストールします。KubeSphereを使用して複数のクラスターを集中管理するためのマルチクラスターコントロールプレーンを設定する場合は、config-example.yamlClusterRoleを設定する必要があります。マルチクラスターのユーザーガイドについては、マルチクラスター機能の有効化方法を参照してください。

プラグイン可能なコンポーネントの有効化

KubeSphereはv2.1.0以降、いくつかのコア機能コンポーネントをデカップリングしました。これらのコンポーネントはプラグイン可能であり、インストール前またはインストール後に有効にすることができます。デフォルトでは、これらのコンポーネントを有効にしない場合、KubeSphereは最小インストールで開始されます。

ニーズに応じて、これらのコンポーネントを有効にすることができます。KubeSphereが提供するフルスタックの機能と機能を発見するために、これらのプラグイン可能なコンポーネントをインストールすることを強くお勧めします。これらを有効にする前に、マシンに十分なCPUとメモリがあることを確認してください。詳細については、プラグイン可能なコンポーネントの有効化を参照してください。

ノードの追加

新しいノードの情報をクラスター構成ファイルに追加し、変更を適用します。

./kk add nodes -f config-sample.yaml

ノードの削除

次のコマンドでノードを削除できます。削除するノード名を指定します。

./kk delete node <nodeName> -f config-sample.yaml

クラスターの削除

次のコマンドでクラスターを削除できます:

  • クイックスタート(all-in-one)を開始した場合:
./kk delete cluster
  • 高度なインストール(構成ファイルを使用して作成されたクラスター)を開始した場合:
./kk delete cluster [-f config-sample.yaml]

クラスターのアップグレード

Allinone

指定されたバージョンでクラスターをアップグレードします。

./kk upgrade [--with-kubernetes version] [--with-kubesphere version] 
  • Kubernetesのみのアップグレードをサポートします。
  • KubeSphereのみのアップグレードをサポートします。
  • KubernetesとKubeSphereの両方のアップグレードをサポートします。

マルチノード

指定された構成ファイルでクラスターをアップグレードします。

./kk upgrade [--with-kubernetes version] [--with-kubesphere version] [(-f | --filename) path]
  • --with-kubernetesまたは--with-kubesphereが指定されている場合、構成ファイルも更新されます。
  • クラスター作成に使用された構成ファイルを指定するには、-fを使用します。

注意: マルチノードクラスターのアップグレードには、指定された構成ファイルが必要です。クラスターがkubekeyなしでインストールされた場合、またはインストールに使用された構成ファイルが見つからない場合は、構成ファイルを自分で作成するか、次のコマンドを使用して作成する必要があります。

クラスター情報を取得し、kubekeyの構成ファイルを生成します(オプション)。

./kk create config [--from-cluster] [(-f | --filename) path] [--kubeconfig path]
  • --from-clusterは、既存のクラスターからクラスター情報を取得することを意味します。
  • -fは、構成ファイルが生成されるパスを指します。
  • --kubeconfigは、kubeconfigのパスを指します。
  • 構成ファイルを生成した後、ノードのssh情報などのいくつかのパラメーターを入力する必要があります。

ドキュメント

貢献者 ✨

これらの素晴らしい人々に感謝します(絵文字キー):

pixiake
pixiake

💻 📖
Forest
Forest

💻 📖
rayzhou2017
rayzhou2017

💻 📖
shaowenchen
shaowenchen

💻 📖
Zhao Xiaojie
Zhao Xiaojie

💻 📖
Zack Zhang
Zack Zhang

💻
Akhil Mohan
Akhil Mohan

💻
pengfei
pengfei

📖
min zhang
min zhang

💻 📖
zgldh
zgldh

💻
xrjk
xrjk

💻
yonghongshi
yonghongshi

💻
Honglei
Honglei

📖
liucy1983
liucy1983

💻
Lien
Lien

📖
Tony Wang
Tony Wang

📖
Hongliang Wang
Hongliang Wang

💻
dawn
dawn

💻
Duan Jiong
Duan Jiong

💻
calvinyv
calvinyv

📖
Benjamin Huo
Benjamin Huo

📖
Sherlock113
Sherlock113

📖
fu_changjie
fu_changjie

📖
yuswift
yuswift

💻
ruiyaoOps
ruiyaoOps

📖
LXM
LXM

📖
sbhnet
sbhnet

💻
misteruly
misteruly

💻
John Niang
John Niang

📖
Michael Li
Michael Li

💻
独孤昊天
独孤昊天

💻
Liu Shaohui
Liu Shaohui

💻
Leo Li
Leo Li

💻
Roland
Roland

💻
Vinson Zou
Vinson Zou

📖
tag_gee_y
tag_gee_y

💻
codebee
codebee

💻
Daniel Owen van Dommelen
Daniel Owen van Dommelen

🤔
Naidile P N
Naidile P N

💻
Haiker Sun
Haiker Sun

💻
Jing Yu
Jing Yu

💻
Chauncey
Chauncey

💻
Tan Guofu
Tan Guofu

💻
lvillis
lvillis

📖
Vincent He
Vincent He

💻
laminar
laminar

💻
tongjin
tongjin

💻
Reimu
Reimu

💻
Ikko Ashimine
Ikko Ashimine

📖
Ben Ye
Ben Ye

💻
yinheli
yinheli

💻
hellocn9
hellocn9

💻
Brandan Schmitz
Brandan Schmitz

💻
yjqg6666
yjqg6666

📖 💻
失眠是真滴难受
失眠是真滴难受

💻
mango
mango

👀
wenwutang
wenwutang

💻
Shiny Hou
Shiny Hou

💻
zhouqiu0103
zhouqiu0103

💻
77yu77
77yu77

💻
hzhhong
hzhhong

💻
zhang-wei
zhang-wei

💻
Deshi Xiao
Deshi Xiao

💻 📖
besscroft
besscroft

📖
张志强
张志强

💻
lwabish
lwabish

💻 📖
qyz87
qyz87

💻
ZhengJin Fang
ZhengJin Fang

💻
Eric_Lian
Eric_Lian

💻
nicognaw
nicognaw

💻
吕德庆
吕德庆

💻
littleplus
littleplus

💻
Konstantin
Konstantin

🤔
kiragoo
kiragoo

💻
jojotong
jojotong

💻
littleBlackHouse
littleBlackHouse

💻 📖
guangwu
guangwu

💻 📖
wongearl
wongearl

💻
wenwenxiong
wenwenxiong

💻
柏喵Sakura
柏喵Sakura

💻
cui fliter
cui fliter

📖
刘旭
刘旭

💻
yuyu
yuyu

💻
chilianyi
chilianyi

💻
Ronald Fletcher
Ronald Fletcher

💻
baikjy0215
baikjy0215

💻
knowmost
knowmost

📖

このプロジェクトは all-contributors の仕様に従っています。どのような種類の貢献でも歓迎します!