Kubernetes を使用する上で知っておくべき 4 つのツール!

Kubernetes を使用する上で知っておくべき 4 つのツール!

オープンソースの最前線コンパイル

出典: https://opensource.com/article/19/6/tools-drive-kubernetes

[[270874]]

Kubernetes に習熟するには、まず Kubernetes で構築されたアプリケーションの基本的な種類をいくつか学習し、実稼働レベルのアプリケーション デプロイメント (高可用性 [HA]、複数のコンテナー、複数のアプリケーションなど) を実装する方法を学習できる最も単純なプリミティブ セットを学習する必要があります。

この記事では、Kubernetes を迅速かつ柔軟に使用するのに役立つ 4 つのツールを紹介します。

1. カタコダ

Katacoda は間違いなく Kubernetes クラスターをテストする最も簡単な方法です。ワンクリックで、Web ベースのターミナルを実行中の Kubernetes クラスターに直接接続できます。 Katacoda は学習だけでなく、娯楽にも使えます。新しいアイデアを実証したりテストしたりするためにも使用します。完全な一時的な環境を提供し、使用後はリサイクルできます。

Katacoda はより高度なラボ環境です。私が過去数年間運営してきた Linux Container Internals Lab は、Katacoda で構築されました。

Katacoda は、メインサイトで Kubernetes とクラウドのチュートリアルの大規模なコレクションを維持しており、Red Hat と提携して OpenShift の学習ポータルをサポートしています。どちらも素晴らしい学習リソースです。

2. Podmanがkubeを生成する

podman generate kube コマンドは、単純なコンテナを実行する単純なコンテナ エンジンからマルチコンテナ クラスターへの移行を支援する優れたサブコマンドです。 Podman は、いくつかのコンテナを起動し、Kube YAML をエクスポートして Kubernetes で起動することで機能します。これをチェックしてください (Podman と OpenShift がすでにあるこの Katacoda Lab で実行できます)。

まず、コンテナを実行するための構文は Docker と非常に似ています。

  1. podman 実行 -dtn two-pizza quay.io/fatherlinux/two-pizza

しかし、他のコンテナ エンジンではこれは不可能です。

  1. podman kube 2ピザを生成する

出力は次のようになります。

  1. # Kubernetes YAML生成はまだ開発中です
  2. #
  3. #出力を保存する このファイルを作成し kubectl create -fを使用してインポートします
  4. # それをKubernetesに組み込みます
  5. #
  6. # podman-1.3.1作成
  7. APIバージョン: v1
  8. 種類: ポッド
  9. メタデータ:
  10. 作成タイムスタンプ: "2019-06-07T08:08:12Z"  
  11. ラベル:
  12. アプリ: ツーピザ
  13. 名前: ツーピザ
  14. 仕様:
  15. コンテナ:
  16. - 指示:
  17. - /bin/sh
  18. - -c
  19. - bash -c 'が true の場合; do /usr/bin/nc -l -p 3306 < /srv/hello.txt;終わり'  
  20. 環境:
  21. -名前: PATH
  22. 値: /usr/ローカル/sbin:/usr/ローカル/bin:/usr/sbin:/usr/bin:/sbin:/bin
  23. -名前: 用語
  24. 値: xterm
  25. -名前: ホスト名
  26. -名前: コンテナ
  27. 値: oci
  28. 画像: quay.io/fatherlinux/two-pizza:latest
  29. 名前: ツーピザ
  30. リソース: {}
  31. セキュリティコンテキスト:
  32. 権限昇格を許可: true  
  33. 機能: {}
  34. 特権: false  
  35. readOnlyRootFilesystem: false  
  36. 端末: 
  37. 作業ディレクトリ: /
  38. 状態: {}
  39. ---  
  40. APIバージョン: v1
  41. 種類: サービス
  42. メタデータ:
  43. 作成タイムスタンプ: "2019-06-07T08:08:12Z"  
  44. ラベル:
  45. アプリ: ツーピザ
  46. 名前: ツーピザ
  47. 仕様:
  48. セレクタ:
  49. アプリ: ツーピザ
  50. タイプ: NodePort
  51. 状態:
  52. ロードバランサー: {}

これで、演習などを学習するために使用できる実行可能な Kubernetes YAML がいくつか用意されたので、 -s フラグによってサービスが作成されます。 Brent Baude は現在も新機能を追加し続けています。より詳しく知りたい方は、彼のブログ記事をご覧ください。

3. oc 新規アプリ

oc new-app コマンドは非常に強力です。これは OpenShift 固有のものであるため、デフォルトの Kubernetes では使用できませんが、Kubernetes の学習を開始するときには非常に役立ちます。かなり複雑なアプリケーションを作成するための簡単なコマンドから始めましょう。

  1. oc 新規プロジェクト -n 例
  2. oc new-app -f https://raw.githubusercontent.com/openshift/origin/master/examples/quickstarts/cakephp-mysql.json

oc new-app を使用すると、OpenShift 開発者からテンプレートを取得できます。上記のコマンドを実行すると、Kubernetes 名前空間 (OpenShift 内) に新しい定義済みリソース セットが入力されます。

  1. ocすべて取得 

出力は次のようになります。

  1. 名前準備完了 ステータス 再起動 年齢
  2. pod/cakephp-mysql-example-1-build 0/1 完了 0 4分
  3. pod/cakephp-mysql-example-1-gz65l 1/1 実行中 0 1分
  4. pod/mysql-1-nkhqn 1/1 実行中 0 4m
  5.  
  6. 名前希望現在の年齢
  7. レプリケーションコントローラ/cakephp-mysql-example-1 1 1 1 1m
  8. レプリケーションコントローラ/mysql-1 1 1 1 4m
  9.  
  10. 名前タイプ クラスター IP 外部 IP ポート 年齢
  11. service/cakephp-mysql-example ClusterIP 172.30.234.135 <なし> 8080/TCP 4m
  12. service/mysql ClusterIP 172.30.13.195 <なし> 3306/TCP 4m
  13.  
  14. 名前修正 希望現在トリガー 
  15. デプロイメントconfig.apps.openshift.io/cakephp-mysql-example 1 1 1 config、イメージ(cakephp-mysql-example:latest)
  16. デプロイメントconfig.apps.openshift.io/mysql 1 1 1 config、イメージ(mysql:5.7)
  17.  
  18. 名前タイプ最新
  19. buildconfig.build.openshift.io/cakephp-mysql-example ソース Git 1
  20.  
  21. 名前タイプ開始日 ステータス 開始日 期間
  22. build.build.openshift.io/cakephp-mysql-example-1 ソース Git@47a951e 完了 4 分前 2m27s
  23.  
  24. 名前DOCKER リポジトリ タグが更新されました
  25. imagestream.image.openshift.io/cakephp-mysql-example docker-registry。デフォルト.svc:5000/example/cakephp-mysql-example 最新 約 1 分前
  26.  
  27. 名前ホスト/ポート パス サービス ポート 終了 ワイルドカード
  28. ルート.route.openshift.io/cakephp-mysql-example cakephp-mysql-example-example.2886795271-80-rhsummit1.environments.kata

これを実行する利点は、ポッドを削除したり、レプリケーション コントローラーがポッドを再作成するのを確認したりできることです。また、このテンプレートを使用して他のアプリケーションに変更を加えることもできます。

4. ビジュアルスタジオコード

私のお気に入りを最後に残しておきました。私はほとんどの仕事で Vi を使用していますが、Kubernetes 用の優れた構文ハイライトおよびコード補完プラグインを見つけたことがありません (もしあれば、教えてください)。代わりに、Microsoft の VS Code には、Kubernetes リソースの作成を処理し、定型文を提供する優れたプラグイン セットがあることが分かりました。

まず、上記のように Kubernetes と YAML プラグインをインストールします。

その後、最初から新しい YAML ファイルを作成し、Kubernetes リソースを自動的に追加できます。上記の例はサービスを示しています。

オートコンプリートを使用してサービス リソースを選択すると、オブジェクトのいくつかのテンプレートが設定されます。この体験は、Kubernetes の使い方を初めて学ぶときに最適です。ポッド、サービス、レプリケーション コントローラー、デプロイメントなどを構築できます。これは、これらのファイルを最初から構築する場合や、Podman generate kube によって作成されたファイルを変更する場合に非常に便利な機能です。 (Github アドレス: https://github.com/microsoft/vscode)

<<:  クラウドストレージの5つの利点の簡単な分析

>>:  クラウドコンピューティングのコンプライアンスを確保する方法

推薦する

CA が新しいアジャイル管理ソリューションをリリース: デュアルモード IT のジレンマを打破

CA Technologies は、組織が計画から実行、顧客サポートに至るまでより迅速に価値を提供で...

分散型コンセンサスアルゴリズム: 想像以上に複雑

1. 分散システムの難しさ張大鵬は難しい問題に遭遇した。彼らの会社には貴重なデータを保存するサーバー...

クラウドコンピューティングコアテクノロジー Dockerチュートリアル: Dockerデーモン dockerd 安全でないレジストリ

Docker はプライベート レジストリを安全か安全でないかを判断します。このセクションの残りの部分...

李延紅、3B戦争に反応:チャネルを使って検索を促進するのはあまり効果的ではない

スタンフォード大学のロビン・リーBaidu の共同設立者兼 CEO である Robin Li 氏は本...

クラウドネイティブプラットフォームとは何ですか?

クラウド ネイティブ コンピューティングは、クラウド専用に設計されたソフトウェア開発手法を活用するア...

ハイブリッドクラウドの代表的な4つの応用例

クラウド コンピューティングの初期の頃、業界の専門家は、企業がより良い選択を行えるよう、パブリック ...

Kafka の適用可能なシナリオをネットワーク全体で最も包括的に図解で解説します。

メッセージングシステムメッセージング システムは、データ プロデューサーの分離や未処理メッセージのキ...

ライブ配信中に有名人が商品を販売するための列はありますか?

また別の有名人が商品の宣伝に失敗した。最近、韓昭監督は生放送室で酒類を販売する際に価格詐欺や誤解を招...

新しいブランドや製品のコンテンツマーケティングをどのように実施すればよいでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスコンテンツ マーケティン...

専門家によるウェブサイト最適化の実践的な方法とテクニック

現状では、ウェブサイト最適化の目的の一つは、企業製品の販売促進や企業ブランドの宣伝を目的としたいわゆ...

「莫言熱」が文学のトレンドを引き起こした。文芸界は鉄は熱いうちに打つかもしれない

今日、莫言がノーベル文学賞を受賞してから1週間が経ったが、ネットユーザーたちの驚きの声、メディアのコ...

Volcano Engine は南西部市場に注力し、「クラウド + AI」でエンタープライズビジネスの成長を加速

3月7日、Volcano Engineは成都で南西部初のパブリッククラウドと都市共有イベントを開催し...

SEOの究極の進化には、マーケティングレベルから問題を見ることが必要です

私は、SEO のレベルは 3 つのレベルに分けられると常に信じています。最初のレベルは SEO を学...

2019年の国内ドラマ:暗い市場、素晴らしいコンテンツ

2019年のドラマ業界は分裂した。視聴者にとって、今年の国内ドラマには素晴らしい「ハイライト」がたく...