kindとDockerを使用してローカルKubernetes環境を起動する

kindとDockerを使用してローカルKubernetes環境を起動する

導入

Kubernetes を使い始めるのに丸一日を費やしたことはありませんか?最近登場したいくつかの新しいツールのおかげで、もうこれについて心配する必要はありません。

この記事では、kind を使用して単一の Docker コンテナでクラスターを起動する手順を説明します。

Kindとは何ですか?

kind は go 言語で実装されているため、golang の最新バージョンがインストールされていることを確認してください。開発者ドキュメントによると、go1.11.5 以上が推奨されます。 kind をインストールするには、次のコマンドを実行します (実行にはしばらく時間がかかる場合があります)

kind (Kubernetes IN Docker) は、Docker をベースに Kubernetes クラスターを構築するためのツールです。Kubernetes をベースにしたローカル開発/テスト環境の構築に最適です。

sigs.k8s.io/kind にアクセスします 
種類 クラスターを作成

次に、「kind」クラスターが使用可能であることを確認します。

種類はクラスターを取得します

kubectlの設定

同様に、Homebrew または Chocolatey を使用して kubernetes-cli の最新バージョンをインストールします。 Docker の最新バージョンには Kubernetes 機能が含まれていますが、kubectl の古いバージョンが使用されます。

このコマンドを実行してバージョン番号を確認します。

kubectl バージョン

GitVersion: "v1.14.1" 以上であることを確認してください。

Docker 経由で kubectl を実行している場合は、brew link を使用するか、環境変数の順序を変更してみてください。

kubectl と kind がインストールされたら、bash コンソールを開いてこれらのコマンドを実行します。

KUBECONFIG をエクスポートします。$(kind get kubeconfig-path)"
kubectl クラスター情報

種類が正しく設定されていれば、いくつかの情報が表示されます。これで次の作業に進むことができます。うん!

最初のアプリケーションをデプロイする

クラスターにデプロイするには何が必要ですか? MySQL と PHP アプリケーションが含まれているため、Wordpress は良い選択です。

幸いなことに、公式の入門書があり、非常にわかりやすく説明されています。先ほど作成した種類クラスターを使用して、ほとんどの手順を実行してみることができます。

チュートリアル

まず、このページから mysql-deployment.yaml と wordpress-deployment.yaml をダウンロードします。

2 つの cat コマンドを実行して kustomization.yaml を作成します。これらの yaml ファイルが準備できたら、以下に示すようにそれぞれのディレクトリにファイルを配置します。

k8s-wp/
kustomization.yaml 
mysql-デプロイメント.yaml 
wordpress-deployment.yaml

次に、それをクラスターに適用します。

cd k8s-wp 
kubectl を適用 -k ./

コマンドが正常に実行されると、次のような出力が表示されます。

secret/mysql-pass-7tt4f27774 が作成されました
service/wordpress-mysql が作成されました
サービス/WordPressを作成しました
deploy.apps/wordpress-mysql が作成されました
デプロイメント.apps/wordpress を作成しました
persistentvolumeclaim/mysql-pv-claim が作成されました
persistentvolumeclaim/wp-pv-claim が作成されました

次のコマンドを入力して、クラスターのステータスを確認しましょう。

kubectl シークレットを取得する
kubectl で PVC を取得する
kubectl ポッドを取得する
kubectl サービスを取得 wordpress

すべてのポッドが実行状態になるまで待ちます。

次に、このコマンドを実行してサービスを取得します。

kubectl ポート転送 svc/wordpress 8080:80

次にhttp://localhost:8080/を開きます。

見て!データベースを表示する場合は、ポッドを検査し、次のようなコマンドを実行してから、クライアント アプリを開きます。

kubectl ポート転送 wordpress-mysql-bc9864c58-ffh4c 3306:3306

結論は

kind は単一の Docker コンテナのみを使用するため、minikube に適しています。

Kubernetes 1.14 に統合されている Kustomze と組み合わせることで、ローカル マシンで Kubernetes を試すことがさらに簡単になります。

kind と Docker を使用してローカル Kubernetes 環境を起動する方法についての記事はこれで終わりです。 kind と Docker を使用してローカル Kubernetes 環境を起動する方法についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • kubernetes1.20 で docker (shim) を containerd に置き換える問題について説明します。
  • Centos7 (Kubernetes) で Docker プライベート ウェアハウスを構築する方法
  • Docker実践編 - CentOS7にKubernetesを導入する詳しい解説
  • Docker Kubernetes ダッシュボードのインストールと展開の詳細
  • クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明
  • クラウドネイティブテクノロジー Kubernetes (K8S) の紹介
  • クラウドネイティブDockerとKubernetesの関係について語る

<<:  MySQL 派生テーブル(Derived Table)の簡単な使用例分析

>>:  vue cli で env を使用するガイド

推薦する

MySQL 8.0 の新機能: ハッシュ結合

MySQL 開発チームは、2019 年 10 月 14 日に MySQL 8.0.18 GA バージ...

JavaScript フレームワーク デザイン パターンの詳細な説明

目次動画最優秀選手ムヴヴムVueのソーススパ mpa要素を作成するクラス要約する動画 Model(模...

mysql5.7.19 zip 詳細なインストールプロセスと構成

MySQL v5.7.19 正式版(32/64 ビットインストール版および zip 解凍版) 1. ...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

GolangでMySQLデータベースのバックアップを実装する方法

背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...

MySQL 5.6 マスタースレーブエラー報告の実践記録

1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...

react+antdプロジェクトをゼロから構築する方法を教えます

これまでの記事はすべて私自身の学習記録であり、主に以前に遭遇した落とし穴を忘れないようにするためのも...

HTML テーブル マークアップ チュートリアル (4): 境界線の色属性 BORDERCOLOR

テーブルを美しくするために、テーブルにさまざまな境界線の色を設定できます。基本的な構文<テーブ...

VMware 15 を使用して仮想マシンをインストールし、CentOS 8 を使用する詳細な手順

序文:現在、Linux と .Net Core を学習しており、クロスプラットフォームの知識を学んで...

Vue3 ミックスインの使い方

目次1. mixin の使い方は? 2. ミックスイン使用時の注意2.1. ミックスイン オブジェク...

Vueプロジェクトをパッケージ化してリリースする手順

目次1. 開発環境から本番環境への移行2. 統一されたリクエストパスを設定する3. パッケージ化コマ...

MySQL テーブルと列のコメントの概要

コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることが...

LinuxベースのApacheウェブサイトサービス構成の詳細な説明

オープンソース ソフトウェアである Apache は、最も広く使用されている Web アプリケーショ...

MySQL Shell import_tableデータインポートの実装

目次1. import_tableの紹介2. データのロードとテーブル関数のインポートの例2.1 L...