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

推薦する

CSS は Apple のスムーズなスイッチ ボタン効果を模倣します

目次1. コード分析2. ソースコードソースコード1. コード分析1.1 HTMLコード分析 <...

さまざまな解像度やブラウザでウェブページを適切に表示する方法

キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...

Ubuntu 20.04 デスクトップのインストールとルート権限の有効化および SSH インストールの詳細

記事は主にUbuntu 20.04の簡単なインストールプロセスを記録し、インストール後に国内ソースを...

MySQL 文字セットの文字化けとその解決方法

序文文字セットは、一連のシンボルとエンコード規則です。Oracle データベースでも MySQL デ...

SELinux 入門

カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

JavaScript でモバイル モーダル ボックスの効果を実現

この記事では、モバイルモーダルボックス効果を実現するためのJavaScriptの具体的なコードを参考...

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

mysql8.x docker リモートアクセスの詳細な設定

目次環境条件エラーが発生しました回避策1. mysql dockerにログインする2. ルートパスワ...

MySQL データベースのバックアップとリカバリの実装コード

データベースのバックアップ #文法: # mysqldump -h server-u usernam...

CentOS仮想マシンの時刻を変更する方法

上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...

Linux環境でのDockerインストールチュートリアル

1. 設置環境Dockerは次のCentOSバージョンをサポートしていますCentOS 6.5 (6...

Docker デプロイメント RabbitMQ コンテナ実装プロセス分析

1. イメージをプルするまず、次のコマンドを実行して、イメージをローカル コンピューターにダウンロー...

Zabbix でフィルターを使用して監視を実装する方法

最近、監視機器の作業をしていたとき、ポートがダウンしているというアラームが常に出ていました。データを...