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

推薦する

Docker で Redis クラスターを素早く構築する方法の例

Redis クラスターとはRedis クラスターは、R​​edis が提供する分散データベース ソリ...

html2canvas を使用して、Baidu マップを含む Dom 要素を画像に処理するソリューション

問題 1: Baidu Map はタイル画像 (地図が写真で構成されている) を使用しています。ht...

フロントエンドJavaScript ES6の詳細について

目次1. はじめに1.1 Babel トランスコーダ1.2 ポリフィル2. let と const ...

Webpack で環境変数を使用するためのさまざまな正しい姿勢

目次前に書いてビジネスコードは環境変数を使用するwebpack.DefinePlugin プラグイン...

Vueはビデオ再生を実装するためにビデオタグを使用します

この記事では、ビデオタグを使用してビデオ再生を実装するVueの具体的なコードを参考までに共有します。...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

JavaScript 基礎シリーズ: 関数とメソッド

目次1. 関数とメソッドの違い2. 良い関数の書き方2.1 正確な命名2.1.1 関数の命名2.1....

MySQL 5.7.15 バージョンのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQLバージョン5.7のインストール方法と使用方法、およびデータベースデータの保存...

Centos7.x での Nginx のインストール、SSL 設定、一般的なコマンドの詳細な説明

1. インストールyumを使用してインストールする ##yum nginx を自動的にインストールす...

Vue-CLI3.xはプロジェクトをサーバーに自動的にデプロイします

目次序文1. scp2をインストールする2. テスト/本番環境サーバーのSSHリモートログインアカウ...

favicon.ico についていくつか注意点があります (ルートディレクトリに置くのがベストです)

任意のウェブページを開きます。例: http://www.baidu.com/ ブラウザのタブのヘッ...

CSS3 テキストアニメーション効果

効果 html <div class="sp-container">...

aタグ疑似クラスの機能と記述順序は何ですか?

a タグ疑似クラスの役割: 「:link」: 訪問されていないタグの状態。 「:visited」: ...

パゴダパネルとドッカーを使用して Gogs をインストールするプロセス全体

目次1 Baota Software StoreにDockerをインストールする2 ゴグスイメージを...