目次
2.コンテナランタイム(containred)をインストールする
3. Kubeadm、Kubelet、およびKubectlをインストールします
4.コントロールプレーンノードを初期化します
5。ポッドネットワーク(CNI)をインストールする
6.ワーカーノードに参加します
7.オプション:単一ノード制御プレーン(ラボ用)を有効にする
8.クラスター機能を確認します
一般的な問題とヒント
ホームページ システムチュートリアル Linux Bare-Metal LinuxにKubernetesクラスターをセットアップします

Bare-Metal LinuxにKubernetesクラスターをセットアップします

Aug 04, 2025 am 12:43 AM

むき出しの金属LinuxサーバーでKubernetesクラスターを正常にセットアップするには、まず要件を満たし、システム構成を完了するマシンを準備し、次にContainRD、KubeAdM、Kubelet、Kubectlをインストールし、コントロールプレーンノードを初期化し、CNIネットワークプラグインをインストールし、ワーカーノードに参加し、確認を実行する必要があります。 1.静的IPで少なくとも2〜3のLinuxサーバーを準備し、スワップをオフにし、必要なカーネルモジュールとSYSCTLパラメーターを有効にします。 2。すべてのノードにContainRDをインストールし、SystemDcGroup = trueを構成します。 3. Kubeadm、Kubelet、Kubectlをインストールし、それを予約済みとしてマークし、自動的にアップグレードしません。 4.コントロールプレーンノードでkubeadm initコマンドを実行して、ポッドネットワークCIDRとコントロールプレーンIPを指定します。 5.フランネルなどのCNIプラグインを適用して、ポッドネットワーク通信を正常にします。 6. KUBEADM JOINコマンドを使用して、作業ノードに参加してクラスターに参加します。 7.オプションでメインノードの染色を取り外して、ポッドスケジューリングを許可します。 8。Nginxおよびその他のテストアプリケーションを展開して、クラスター関数を検証して、すべてのノードとポッドが正常状態にあることを確認します。プロセス全体がノード間の時間同期を確保する必要があり、ファイアウォールは必要なポートを開き、ホスト名を一意に解決し、最終的に自律的で制御可能な高性能クベルネットの生産または学習環境を取得する必要があります。

Bare-Metal LinuxにKubernetesクラスターをセットアップします

ベアメタルLinuxサーバーにKubernetesクラスターをセットアップすると、インフラストラクチャ、パフォーマンス、コスト効率の向上を最大限に制御できます。これは、生産ワークロードやKubernetesがフードの下でどのように機能するかを学習します。管理されたKubernetesサービス(EKやGKEなど)が操作を簡素化しますが、裸の金属のセットアップは内部を教え、カスタマイズを許可します。適切に行う方法は次のとおりです。

Bare-Metal LinuxにKubernetesクラスターをセットアップします

1.裸の金属マシンを準備します

Kubernetesをインストールする前に、Linuxマシン(物理サーバー)が準備が整っていることを確認してください。

要件:

Bare-Metal LinuxにKubernetesクラスターをセットアップします
  • 少なくとも2〜3マシン(1つのコントロールプレーンノード、1つのワーカーノード)
  • マシンごとに2つのCPUコア
  • 2GB RAM(4GB推奨)
  • 一意のホスト名、Macアドレス、およびProduct_uuids
  • マシン間の完全なネットワーク接続
  • Swap Disabled(Kubernetes要件)
  • sudoアクセスとSSH接続

ステップ:

  • サポートされているLinux OS(Ubuntu 20.04/22.04、Centos 7/8、Rocky Linux)をインストールする

    Bare-Metal LinuxにKubernetesクラスターをセットアップします
  • 信頼できる通信のために静的IPSを設定します

  • 更新システム:

     sudo apt update && sudo apt upgrade -y
  • スワップを無効にする:

     sudo swapoff -a

    /etc/fstabのスワップラインをコメントして、永続的にします。

  • カーネルモジュールを有効にし、sysctlを構成します。

     Sudo Modprobeオーバーレイ
    sudo modprobe br_netfilter
    
    cat << eof | sudo tee /etc/modules-load.d/containerd.conf
    かぶせる
    br_netfilter
    EOF
    
    cat << eof | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    EOF
    
    sudo sysctl  - システム

2.コンテナランタイム(containred)をインストールする

Kubernetesにはコンテナランタイムが必要です。 containerd最も一般的な選択です。

containerdをインストール:

 sudo apt-get update && sudo apt-get install -y containerd

#SystemDをCGROUPドライバーとして使用するようにContainRDを構成します
sudo mkdir -p /etc /containerd
containerd config default | sudo tee /etc/containerd/config.toml

#config.tomlを編集して設定します。
#[プラグイン。 "io.containerd.grpc.v1.cri" .containerd.runtimes.runc.options]
#SystemDCGroup = true

sudo systemctl再起動containt
sudo systemctlはcontainerdを有効にします

注: SystemdCgroup = trueを使用すると、SystemDをinit Systemとして使用する場合、 kubeadmとの互換性が保証されます。


3. Kubeadm、Kubelet、およびKubectlをインストールします

これらはコアKubernetesツールです。

  • kubeadm :クラスターを初期化します
  • kubelet :すべてのノードで実行され、ポッドを開始します
  • kubectl :CLIはクラスターを管理します
#kubernetes aptリポジトリを追加します
sudo apt-getアップデート
sudo apt-get install -y apt-transport-https ca- ectificates curl
curl -fssl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg  -  dearmor -o /etc/apt/trusted.gpg.d/kubernetes.gpg
echo "deb [signed-by =/etc/apt/trusted.gpg.d/kubernetes.gpg] https://apt.kubernetes.io/kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt-getアップデート
sudo apt -get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

これをすべてのノード(コントロールプレーンとワーカー)で繰り返します。


4.コントロールプレーンノードを初期化します

コントロールプレーン(マスター)になるために1つのマシンを選択します。

走る:

 sudo kubeadm init-pod-network-cidr = 10.244.0.0/16-control-plane-endpoint = your_control_plane_ip:6443

選択したCNIプラグインに基づいて、 --pod-network-cidrを使用します。フランネルには、 10.244.0.0/16使用します。

初期化が完了した後:

 mkdir -p $ home/.kube
sudo cp -i /etc/kubernetes/admin.conf $ home/.kube/config
sudo chown $(id -u):$(id -g)$ home/.kube/config

kubeadm joinコマンドを取得します。ワーカーノードを追加するためにそれを提供します。


5。ポッドネットワーク(CNI)をインストールする

Kubernetesには、ポッドが通信できるように、コンテナネットワークインターフェイス(CNI)プラグインが必要です。

フランネルをインストールします:

 kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

数分待ってください。ステータスの確認:

 kubectlはポッドを取得-n kube -systemを取得します

すべてのポッドはRunningステートに到達する必要があります。

その他のオプション:Calico、Cilium(より高度な、より良いセキュリティ)。


6.ワーカーノードに参加します

各ワーカーノードで、 kubeadm join kubeadm init (例:

 Sudo Kubeadm Join 192.168.1.10:6443  - トークン...

コントロールプレーンに戻り、ノードを確認します。

 Kubectlはノードを取得します

ノードがReadyが整うまでには1分かかる場合があります。


7.オプション:単一ノード制御プレーン(ラボ用)を有効にする

テストしていて、コントロールプレーンでポッドをスケジュールしたい場合:

 Kubectl Taintノード-All node-role.kubernetes.io/control-plane-

生産には推奨されません。


8.クラスター機能を確認します

簡単な展開でテストします:

 kubectlは展開nginxを作成します-image = nginx
kubectlは展開nginx -port = 80 -type = nodeportを公開します

実行中かどうかを確認してください。

 Kubectlはポッドを取得します、SVC

NodeのIPおよび割り当てられたNodePortを介してNginxにアクセスできるはずです。


一般的な問題とヒント

  • ファイアウォール:6443(APIサーバー)、10250(kubelet)、30000–32767(nodeport範囲)などのポートが開いていることを確認します。
  • クロック同期:NTP( chronyまたはntpd )を使用して、ノード間で時間を同期させます。
  • ホスト名解像度:各ノードでDNSまたはupdate /etc/hosts使用します。
  • CNI障害:cidrがkubeadm initれたものと一致します。

前提条件に注意深く従うと、裸の金属にkubernetesをセットアップすることは難しくありません。キーは、ノード全体の一貫性、適切なネットワーキング、適切なCNIの選択です。実行したら、Prometheusなどのヘルム、イングレスコントローラー、または監視ツールを展開できます。

基本的に、手順に従って、ログを見て、 kubectl get nodesを確認してget pods 。ほとんどの問題は、誤った設定されたContainRD、欠落しているカーネルモジュール、またはファイアウォールルールに由来しています。

それだけです - あなた自身のKubernetesクラスター、本物の鉄で走っています。

以上がBare-Metal LinuxにKubernetesクラスターをセットアップしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Linuxでハードドライブを安全に消去する方法 Linuxでハードドライブを安全に消去する方法 Jul 24, 2025 am 12:08 AM

ターゲットハードディスクデバイス名( /dev /sdaなど)を確認して、システムディスクの誤って削除しないようにします。 2。sudoddif=/dev/zeroof =/dev/sdxbs = 1mStatus = 1mStatusを使用して、ほとんどのシナリオに適したフルディスクのゼロ値を上書きします。 3. 3つのランダムデータ上書きにSudoshred-V-N3/DEV/SDXを使用して、復元できないことを確認します。 4.オプションで、破壊的な書き込みテストのためにsudobadblocks-wsv/dev/sdxを実行します。最後に、sudohexdump-c/dev/sdx |ヘッドを使用して、それがすべてゼロで完全な安全な消去であるかを確認します。

Linuxシステムの情報とバージョンを確認する方法は? Linuxシステムの情報とバージョンを確認する方法は? Jul 26, 2025 am 02:59 AM

Linuxシステムの情報とバージョンを知りたい場合は、次の手順を使用できます。1。LSB_RELEASE-Aを使用して、配布情報を表示します。 2。 /etc /os-releaseファイルを表示して、バージョンの詳細を取得します。 3. uname-rまたはuname-mrsを使用して、カーネルバージョンとシステムアーキテクチャを確認します。 4.ハードウェア情報を取得するには、LSCPU、Free-H、またはDMIDECODE(ルートアクセス許可が必要)を実行します。上記の方法はさまざまな分布に適用でき、一部のコマンドにはインストールまたは許可調整が必要になる場合があります。

Linuxにユーザーを追加する方法 Linuxにユーザーを追加する方法 Jul 21, 2025 am 03:32 AM

Linuxのユーザーが一般的に使用するUserAddまたはAdduserコマンドを追加します。 1. userAddを使用する場合、パスワードとホームディレクトリを手動で設定する必要があります。 -mパラメーターを追加して、ホームディレクトリを作成します。 2。-s、-g、および-uなどのパラメーターを使用して、シェル、グループ、およびUIDを指定できます。 3. Adduserはインタラクティブなコマンドであり、初心者が構成を自動的に完了するのに適しています。 4。権限、ユーザー名の一意性、およびホームディレクトリの権限に注意してください。 5。ユーザーデルを使用して、誤ってユーザーとホームディレクトリを削除できます。これらの重要なポイントをマスターすると、ユーザーを効率的かつ安全に管理できます。

CronとAnacronでLinuxのタスクをスケジュールする方法 CronとAnacronでLinuxのタスクをスケジュールする方法 Aug 01, 2025 am 06:11 AM

cronisusedusedusedusedusedusedulingonalways-ossystems、whileanacronuresuressuressursunsystystemstature n't continuouslylypowered、suthaslaptops;

Linuxでホストファイルを編集する方法 Linuxでホストファイルを編集する方法 Jul 21, 2025 am 03:02 AM

Linuxシステムのホストファイルを変更するには、管理者の権限を使用して編集する必要があります。 1.ホストファイルは/etc/ディレクトリにあり、cat/etc/hostを表示できます。 2。sudoを使用して、nano/vim/geditなどの編集者で変更します。形式はIPアドレスとホスト名です。 3.変更後、DNSキャッシュをクリアするか、NetworkManagerサービスを再起動して有効にする必要がある場合があります。 4.正しい形式に注意し、頻繁に変更を避け、安全に動作する不確実なエントリについてコメントします。

Linuxをインストールした後の対処方法 Linuxをインストールした後の対処方法 Jul 23, 2025 am 02:57 AM

installinglinux、firstStepsIncludeTingyourSystem、InstrulingentiveSoftware、situpBackUpandSecurityMeasures、およびcustomizing and Customizing and Customizing and Customizing intustomisingThe -SystemsingTheAppocrateCommandforyourdistro(E.G。、am

端末を使用してLinuxにソフトウェアをインストールする方法は? 端末を使用してLinuxにソフトウェアをインストールする方法は? Aug 02, 2025 pm 12:58 PM

Linuxにソフトウェアをインストールする主な方法は3つあります。1。apt、dnf、またはpacmanなどのパッケージマネージャーを使用し、Sudoaptinintallcurlなどのソースを更新した後にインストールコマンドを実行します。 2。.DEBまたは.RPMファイルの場合、DPKGまたはRPMコマンドを使用してインストールし、必要に応じて依存関係を修復します。 3. SnapまたはFlatpakを使用して、バージョンの更新を追求しているユーザーに適したSudosnapInstallソフトウェア名など、プラットフォームにアプリケーションをインストールします。より良い互換性とパフォーマンスのために、システム独自のパッケージマネージャーを使用することをお勧めします。

Linuxでの高性能ゲームの究極のガイド Linuxでの高性能ゲームの究極のガイド Aug 03, 2025 am 05:51 AM

choosepop!_os、ubuntu、nobaralinux、orarchlinuxforoptimalgamingminimaloverhead.2.installofficialnvidiaproprietarydriversfornvidiagpus、suseup to-datemesaandkernelverversionsionsionsionsionsipuspuspus

See all articles