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のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

MySQLデータ遅延ジャンプの問題の解決策

今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...

js を使用して年カルーセル選択効果をネイティブに実装する例

序文js を使用して、年の回転選択効果を実現します。では早速、写真を見てみましょう。 1. アイデア...

DockerHubを自分で構築する方法

先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...

Windows Server 2019 のインストール (グラフィカル チュートリアル)

Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...

MySQL水平および垂直テーブル変換操作の実装方法

この記事では、例を使用して、MySQL の水平テーブルと垂直テーブル間の変換操作を実装する方法を説明...

MySQL データ型 DECIMAL の詳細な分析

序文:金額の保存など、小数点数を保存し、精度要件がある場合、通常は DECIMAL フィールド タイ...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

携帯電話番号が合法かどうかを判断するWeChatアプレットのサンプルコード

目次シナリオ効果コード要約するシナリオ登録ページに携帯電話番号を入力し、登録インターフェイスを要求す...

Vue3 でサードパーティのコンポーネントライブラリをオンデマンドでロードする方法

序文Element Plus を例に、コンポーネントとスタイルのオンデマンド読み込みを構成します。環...

美しい FLASH ウェブサイト デザイン例 50 選

Flashにより、デザイナーや開発者はブラウザ上でリッチなコンテンツを提供し、動き、インタラクティブ...

Win10 は Tsinghua ソースを使用して pytorch-GPU バージョンをすばやくインストールします (推奨)

Cudaがインストールされているかどうかを確認してくださいアナコンダプロンプトに入力nvcc -V...

Node.jsをゼロから学ぶ

目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...

MySQL カーソル関数と使用法

目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...