Ubuntu Server に Docker なしで Kubernetes をインストールするにはどうすればいいですか?

Ubuntu Server に Docker なしで Kubernetes をインストールするにはどうすればいいですか?

[51CTO.com クイック翻訳] Kubernetes は Docker のサポートを廃止しました。そうです、このコンテナ オーケストレーション ツールの学習に費やしたすべての努力が変わりつつあります。 Kubernetes の使用方法が異なります。

このコンテナ管理ツールのインストールについてお話します。以前と同じ方法、つまり Docker をランタイム環境としてインストールする方法で Kubernetes をデプロイすることは絶対にできません。これを踏まえて、あなたは何をすべきでしょうか?見せてあげましょう。

要約すると、Docker を使用せずに Ubuntu Server 20.04 に Kubernetes をインストールします。

あなたは何が必要ですか?

  • sudo権限を持つユーザー
  • Ubuntu Server 20.04 のインスタンス 1 つ (コントローラーとして機能します。ノードとして機能するには追加のインスタンスが必要になりますが、インストールはすべてのマシンで同じであるため、コントローラーでのみデモンストレーションを行います)

containerd ランタイム環境をインストールするにはどうすればいいですか?

最初に行う必要があるのは、Docker に代わる containerd ランタイム環境をインストールすることです。 Ubuntu Server インスタンスにログインし、次のコマンドで apt が更新されていることを確認します。

  1. sudo apt-getアップデート 

これが完了したら、次のコマンドでアップグレードを実行する必要があります。

  1. sudo apt-getアップグレード -y

カーネルをアップグレードする場合は、サーバーを再起動する必要があります (Live Patch がインストールされ、実行されている場合を除く)。

次のコマンドを使用して containerd をインストールします。

  1. sudo apt-get コンテナをインストール -y

次のコマンドを使用して、containerd を構成し、サービスを開始します。

  1. sudo mkdir -p /etc/containerd
  2. sudo su -
  3. containerd 設定のデフォルト/etc/containerd/config.toml

Kubernetes をインストールするにはどうすればいいですか?

次にKubernetesをインストールします。まず、次のコマンドを使用してリポジトリの GPG キーを追加する必要があります。

  1. curl -s https://packages.cloud.google.com/apt/doc/apt-key .gpg | sudo apt -キー 追加 

次のコマンドで Kubernetes リポジトリを追加します。

  1. sudo apt- add -repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"  

次のコマンドを使用して、必要なすべての Kubernetes コンポーネントをインストールできます。

  1. sudo apt-get install kubeadm kubelet kubectl -y

containerd によって引き起こされるいくつかの問題を解決するにはどうすればよいですか?

ここが少しややこしいところです。 Kubernetes 開発者は、順調に進むはずだと言うでしょうが、少なくとも今のところはそうではありません。 Docker を使用すると、多くの低レベルのタスクについて心配する必要がなくなります。 containerd に移行した後、手動で構成を変更する必要があります。

最初の変更は、/etc/sysctl.conf に行を追加することです。次のコマンドを使用してファイルを開きます。

  1. sudo ナノ /etc/sysctl.conf

ファイルを開いたら、一番下に次の内容を追加します。

  1. net.bridge.bridge-nf-call-iptables = 1

ファイルを保存して閉じます。

次に、次のコマンドを実行します。

  1. sudo -s
  2. sudo エコー'1' > /proc/sys/net/ipv4/ip_forward
  3. 出口

次のコマンドで設定を再ロードします。

  1. sudo sysctl --system  

また、次のコマンドを使用して、いくつかの必要なモジュールをロードする必要があります。

  1. sudo modprobeオーバーレイ
  2. sudo modprobe br_netfilter

上記を完了すると、最終的に Kubernetes を初期化できるようになります。

インストールを完了するにはどうすればいいですか?

/etc/hosts 内のすべてのノードをマップする必要があります。マッピングが次の形式であることを確認します。

IPアドレス ホスト名

次のステップでは、次のコマンドを使用してコントローラーのホスト名を設定します (/etc/hosts で使用したホスト名と一致していることを確認してください)。

  1. sudo hostnamectl set -hostname ホスト名

ここで、HOSTNAME は使用するホスト名です。

fstab ファイルを開いて編集し、次のコマンドを使用して順列を無効にします。

  1. sudo ナノ /etc/fstab

そのファイルで、/swap.img で始まるエントリをコメント アウトし (つまり、行の先頭に # 文字を追加し)、行が #/swap.img で始まるようにします。

ファイルを保存して閉じます。

次のコマンドで置換を無効にします。

  1. sudo スワップオフ -a

次のコマンドで必要なコンテナをプルします。

  1. sudo kubeadm config イメージをプルする

コントローラーで、次のコマンドを使用して Kubernetes を初期化します。

  1. sudo kubeadm init --pod-network-cidr=IPADDRESS/24  

ここで、IPADDRESS はコントローラーの IP アドレスです。

最終的には、このコマンドをノード上で実行して、クラスターに接続できるようになります。コマンドをコピーします。

クラスターにノードを追加する前に、クラスター上のいくつかの点に注意する必要があります。

クラスター上で、次のコマンドを使用してクラスター ディレクトリを作成します。

  1. mkdir -p $HOME/.kube

次のコマンドを使用して、構成ファイルをこのディレクトリにコピーします。

  1. sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

次のコマンドを使用して、構成ファイルに適切な権限を付与します。

  1. sudo chown $(id -u):$(id -g) $HOME/.kube/config

次のコマンドを使用して、ポッド ネットワーク (ここでは weave-net を使用します) をクラスターにデプロイします。

  1. kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"  

これで、各ノードで join コマンドを実行してクラスターを完了できます。

このプロセスは以前ほど単純ではありません。将来的には、Kubernetes クラスターのデプロイが、Docker が使用されていた過去と同じくらい簡単になることを期待しています。それまでは、このコンテナ オーケストレーション ツールを独自のハードウェアでホストすることを選択した場合は、上記の手順を完了してください。

元のタイトル: Docker なしで Ubuntu Server に Kubernetes をインストールする方法、著者: Jack Wallen

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  Java はさまざまなロックを提供していますが、なぜ分散ロックが必要なのでしょうか?

>>:  2021 年の Kubernetes に関する 5 つの予測

推薦する

ウェブサイト構築に適した大容量ハードディスク搭載のおすすめVPS

海外には大容量ハードディスク搭載のVPSがたくさんあります。大容量ハードディスク搭載の通常のVPSと...

6月の第1週に、中国の.INFOドメイン名の総数は640件の純増で9位に落ちた。

IDC Review Network (idcps.com) は 6 月 13 日に次のように報告し...

BaiduのスパイダーがプレーンテキストのURLをクロールできることを示す証拠

以前、テキスト形式の URL は Web サイトの軽量化に効果的であると書きました。今日、プレーン ...

エンタープライズレベルのSaaS製品のチャネル戦争に勝つには、たった3つのステップで十分です

エンタープライズレベルの SaaS 製品は、プラットフォームベースのものでも、人気のある垂直分野をタ...

草の根ウェブマスターのための最適化戦略

多くの初心者ウェブマスターにとって、SEO という言葉は非常に意味が深いものです。著者もまた草の根の...

Google 検索はカスタム ウェブサイトのブロックをサポートしなくなりました

新浪科技ニュース:北京時間3月25日朝のニュースによると、Googleは先週日曜日、Google検索...

ブランドプロモーション:低コストのマーケティングを行うには?

「低コストマーケティング」というと、多くの人はコストのかからないマーケティングだと理解するでしょう。...

[調査] クラウドネイティブ企業はセキュリティ維持に苦戦

セキュリティ企業Snykは5月初旬、クラウドネイティブ技術への移行によって生じるセキュリティ問題を懸...

オンライン世論調査が注目の産業に

ソーシャル メディアの時代では、知っているかどうか、聞きたいかどうかに関係なく、人々はあなたについて...

あなたと私を救うために何ができるでしょうか?

戦争に直面したとき、SEO が惨めに失敗したら、どうすれば救えるでしょうか? キーワードをどのように...

マルチクラウドプラットフォーム環境統合ソリューション

詳細に入る前に、「クラウド統合アーキテクチャとは何ですか?」という質問に答えましょう。クラウド統合ア...

悪意を持って他人のプロモーションをクリックせず、良心的なウェブマスターになりましょう

SEOに携わる友人は、Baiduが今年6月22日と6月28日に大規模なアップデートを実施したことをご...

忘れられがちな効果的な外部リンク方法を統合する

ウェブマスターのウェブサイトによく出入りする草の根の人間として、私はウェブマスターの中には外部リンク...

JVMパラメータを学ぶ前に知っておくべきこと

[[323264]] JVM パラメータとは何ですか?通常、写真を撮るには携帯電話で十分ですが、愛好...

ソフトコピーライティングを簡単に完成させるには、これら5つのことをうまく行う必要があります。

今はインターネットの時代です。インターネットマーケティングは企業に徐々に認知されてきました。インター...