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 を使用するガイド

推薦する

マークアップ言語 - 印刷スタイルシート

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

クロスドメインの問題を解決するためのNginxの実用的な方法

フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決するフロントエン...

WeChatアプレットは日付と時刻に基づいた並べ替え機能を実装

最近、小さなプログラム プロジェクトを引き継いだのですが、リストを日付と時刻で並べ替えるという要件が...

フレックスレイアウトの互換性の問題の概要

1. W3C バージョンの flex 2009年版フラグ: display: box; または bo...

インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法

テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

ラムダ式の原則と例

ラムダ式ラムダ式 (クロージャとも呼ばれる) は、Java 8 のリリースを推進した最も重要な新機能...

Linux インストール MySQL チュートリアル (バイナリ配布)

このチュートリアルでは、LinuxにMySQLをインストールする詳細な手順を参考までに紹介します。具...

Mac で MySQL 8.0.22 のパスワードを取得する方法

Mac 最新バージョンの MySQL 8.0.22 パスワード回復問題の説明:昨日、突然、Macで最...

MySQL がデュアルマスターで構成されている場合にデータループの競合を回避する方法

あなたはこの質問について考えたことがあるでしょうか?デュアルアクティブが構成されている場合、データル...

MySQLデータファイルの保存場所を表示する方法

次のような疑問が湧くかもしれません。MySQLをローカル (自分のコンピュータ) にインストールした...

React diffアルゴリズムソースコード分析

目次単一ノード差分単一要素を調整するマルチノード差分調整子配列ノードが移動したかどうかを判断するには...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

Vueの最初のレンダリングのプロセス全体についての簡単な説明

目次1. Vueの初期化vue エントリ ファイルフルバージョンとランタイムバージョンの違い1.1、...

Alibaba CloudにMySQLをインストールする方法の詳細な説明

軽量のオープンソース データベースである MySQL は、エンタープライズ レベルのアプリケーション...