このリポジトリを参照に使用する予定がある場合は、星を押してください。感謝!
🚀 CKA、CKAD、CKS、またはKCNA試験の志願者は、コードDCUBEOFFERを使用して今日60ドル節約できます https://kube.promo/devops。これは、Linux Foundationからの期間限定のオファーです。
次の図は、高レベルの kubernetes アーキテクチャと、外部サービスがクラスターに接続する方法を示しています。
Kubernetes アーキテクチャについては、以下のドキュメントを参照してください。
クラウドで大規模なクラスターを起動すると、コストがかかる可能性があります。したがって、利用可能なクラウドクレジットを利用して、実際のプロジェクトで作業しているかのようにクラスターのデプロイを練習します。すべてのクラウドプラットフォームは、マネージドKubernetesサービスを提供します。
DevOps エンジニアとして、各コンポーネントとクラスター構成を完全に理解することは、運用環境で作業するために不可欠です。Kubernetes クラスターをデプロイする方法はさまざまですが、マルチノード クラスターを最初から設定する方法を学ぶことをお勧めします。これにより、高可用性、スケーリング、ネットワークなどの概念に関する知識を習得し、実際のプロジェクトをシミュレートできます。
さらに、マルチノードクラスターの構成を習得することは、面接や能力への自信の構築に役立ちます。Kubernetes クラスターを確立するための推奨される方法を次に示します。
以下は、重要なクラスタ管理タスクの一部です。
DevOps エンジニアは、Kubeconfig ファイルに精通することが重要です。CI/CD システムのクラスター認証の設定、開発者へのクラスター アクセスの提供などのタスクにとって非常に重要です。
Kubeconfig ファイルは、Kubernetes クラスターに接続するための情報と資格情報を格納する YAML ファイルです。kubectl やその他のクライアント ライブラリなどのコマンド ライン ツールで、クラスターとの認証とリソースとの対話に使用されます。
Kubeconfigファイルは、複数のクラスタとユーザーの情報を格納するために使用でき、ユーザーは異なるクラスタとコンテキストを簡単に切り替えることができます。これは、Kubernetes クラスターへのアクセスを管理し、Kubernetes クラスターと対話するための重要なツールです。
Kubeconfig ファイルの詳細については、次のドキュメントを参照してください。
Kubernetes では、オブジェクトはクラスター内の永続化されたエンティティであり、システムの望ましい状態を表します。これは Kubernetes API サーバーによって作成および管理され、etcd キー値ストアに格納されます。Kubernetes オブジェクトの例としては、ポッド、サービス、デプロイなどがあります。
ポッドオブジェクトの例を次に示します
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
リソースは、Kubernetes API によって公開される Kubernetes オブジェクトの表現です。これは、クライアントがクラスター内のオブジェクトを操作および操作するための方法です。
リソースとは、オブジェクトへのアクセスに使用される特定の API URL を指します。リソースは通常、GET、POST、DELETE などの HTTP 動詞を使用して Kubernetes API を介してアクセスされます。たとえば、このリソースを使用して、v1 Pod オブジェクトのリストを取得できます。さらに、個々の v1 Pod オブジェクトをリソースから取得できます。
/api/v1/pods
/api/v1/namespaces/namespace-name/pods/pod-name
<--進行中-->
<--進行中-->
<--進行中-->
<--進行中-->
<--進行中-->
<--進行中-->
<--進行中-->
<--進行中-->
実際のKubernetesの経験がない場合は、kubernetesを使用している他社のケーススタディを読むことをお勧めします。
Helm と Kustomize はどちらも、Kubernetes マニフェストの管理に使用されるツールです。それらは多くの点で似ていますが、いくつかの重要な違いがあります。
Helm は、ユーザーが Kubernetes クラスターにアプリケーションを簡単にインストール、管理、アップグレードできるようにする Kubernetes のパッケージ マネージャーです。これは、簡単にデプロイ、アップグレード、ロールバックできるKubernetesリソースの事前構成されたセットである「チャート」と呼ばれる概念を使用します。
一方、Kustomizeは、ユーザーが既存のKubernetesマニフェストをカスタマイズおよび構成できるようにするツールです。既存のマニフェストに適用できる「パッチ」と呼ばれる概念を使用して、さまざまな環境やユースケースに合わせてカスタマイズできます。Helmとは異なり、Kustomizeにはバージョン管理とロールバックのサポートが組み込まれておらず、「パッケージ」または「リポジトリ」の概念もありません。
GitOps は、宣言型インフラストラクチャとアプリケーション コードの信頼できる唯一の情報源として Git を使用する継続的デプロイへのアプローチです。
アプリケーションを Kubernetes クラスターにデプロイするための一般的な GitOps ベースのツールには、次のようなものがあります。