支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Kubernetesと認定資格につい

概要

Kubernetesは、開発者がアプリケーションを自己修復環境に簡単にデプロイできるようにするコンテナーオーケストレーションツールです。本記事では、Kubernetesとその認定資格を紹介させていただきます。

Kubernetesと認定資格

Kubernetesと認定資格について説明させていただきます。 Kubernetesの認定資格はその難易度によっていくつかに分類されておりますので、それぞれ解説させていただきます。

KCNA

Kubernetes and Cloud Native Associate (KCNA) は、Kubernetesおよび、より広範なクラウドネイティブエコシステムに関するユーザーの基本的な知識とスキルを証明します。
認定されたKubernetes and Cloud Native Associate (KCNA)は、Kubernetesの基礎知識とスキルの実証済みの理解を通じて、プロフェッショナルレベルへの昇進に関心のある候補者向けに設計された認定です。 この認定資格は、クラウドネイティブテクノロジについて学習している学生や、クラウドネイティブテクノロジの使用に関心のある受験者に最適であり、ステップアップの資格として活用されます。

試験内容の概要については以下の知識が問われます。 基本的なkubectlコマンドを使用してアプリケーションをデプロイする方法、Kubernetesのアーキテクチャ (コンテナー、ポッド、ノード、クラスター)、クラウドネイティブのランドスケープとプロジェクト (ストレージ、ネットワーク、GitOps、サービス メッシュ)、およびクラウドネイティブセキュリティの原則の理解に関する知識です。試験詳細と範囲については、以下でさらに詳しく解説させていただきます。

試験詳細

Kubernetes and Cloud Native Associate (KCNA)の試験および試験環境について説明させていただきます。
Kubernetes and Cloud Native Associate (KCNA)は、ストリーミングオーディオ、ビデオ、および画面共有フィードを介してリモートで監督され実施されます。 Kubernetes and Cloud Native Associate (KCNA)ではスクリーン共有フィードにより、試験監督者は候補者のデモを確認しながら実施されます。 また、受験者は、PSIオンラインシステムセキュリティチェックを実行して、自分のマシンが監督付き試験を受けるための技術要件を満たしていることを確認する必要があります。 オンライン試験監督付き試験は、PSI Secure Browser (仮想接続を介した安全な試験配信を保証するために作成された Webブラウザ) を使用して、PSIの試験監督プラットフォーム「Bridge」で受験します。

Kubernetes and Cloud Native Associate (KCNA)の受験者は、自分のコンピューターに次のものを用意する必要があります。
一点目がサポートされているOSです。これはPSIが公開しているシステム要件、特にサポートされているオペレーティングシステム情報を確認してそれに従う必要があります。 環境においてはすべてのブラウザがサポートされていますが、安全なブラウザはChromeベースであり、より正確なエクスペリエンスが提供されるため、PSIはChromeを登録ブラウザとして使用することを推奨しております。
二点目が、1台のアクティブモニターおよび信頼できるインターネットアクセス環境です。 同じインターネット接続上の他のユーザーが過剰な帯域幅を使用するアクティビティを実行していないことを確認する必要があります。 多くの場合、有線接続はワイヤレス接続よりも安定しており、堅牢であるため推奨されています。帯域幅を大量に消費するサービスをオフにする必要もあります。
三点目がマイクロフォンです。 Macユーザーは、マイク、カメラ、自動化、および入力監視の「システム環境設定: セキュリティとプライバシー: プライバシー」設定で PSI Secure Browserを許可する必要がある場合があります。 試験セッションを開始する前に、機能していることを確認してください。
四点目がウェブカメラです。 試験ポリシーへの違反の可能性を確認するためにWebカメラが移動できることを確認する必要があります。

Kubernetesの基礎

「Kubernetesの基礎」は全体の46%の出題比率となります。内容としては、Kubernetesリソース、Kubernetesアーキテクチャ、KubernetesAPI、コンテナ、スケジューリングに関する知識が問われます。

コンテナオーケストレーション

「コンテナオーケストレーション」は全体の22%の出題比率となります。 ここでは、Kubernetesを理解するうえで最も重要な知識の一つであるコンテナオーケストレーションについての知識が問われます。 これは、コンテナされたアプリケーションの展開を管理および最適化するプロセスでコンテナ化されたアプリケーションの展開、スケーリング、および管理を自動化する一連のソフトウェアツールです。
コンテナオーケストレーションは、コンテナを使用するあらゆる環境で使用できます。 これにより、同じアプリケーションを設計し直すことなく異なる環境にデプロイすることが可能で、Kubernetesはその代表的な例としてあげられます。

また、コンテナ内でマイクロサービスを使用すると、ストレージ、ネットワーク、セキュリティなどのサービスのオーケストレーションが容易になります。
コンテナは、マイクロサービスベースのアプリケーションにとって理想的なアプリケーションデプロイ単位であり、自己完結型の実行環境です。 同じハードウェア上で、アプリケーションの複数部分をマイクロサービス内で個別に実行し、各部分やライフサイクルをより詳細に制御できるようになります。 最も一般的なオーケストレーションツールは、Kubernetesを始めとしてDocker Swarm、Mesos、およびAmazon ECSなどです。 ここではコンテナオーケストレーションの基礎、ランタイム、セキュリティ、ネットワーク、サービスメッシュ、ストレージに関する知識が問われます。

クラウドネイティブアーキテクチャ

「クラウドネイティブアーキテクチャ」は全体の16%の出題比率となります。
自動スケーリング、サーバーレス、コミュニティおよびガバナンス、ロールとペルソナ、オープンスタンダードに関する知識が問われます。

クラウドネイティブの可観測性

「クラウドネイティブの可観測性」は全体の8%の出題比率となります。 テレメトリと可観測性、Prometheus、コスト管理に関する知識が問われます。

クラウドネイティブアプリケーションの配信

「クラウドネイティブアプリケーションの配信」は全体の8%の出題比率となります。
アプリケーション配信の基礎、GitOps、CI/CDに関する知識が問われます。

CKAD

Certified Kubernetes Application Developer(CKAD)は、ユーザーがKubernetes用のクラウド ネイティブ アプリケーションを設計、構築、構成、および公開できることを認定します。
Certified Kubernetes Application Develope(CKAD)は、アプリケーションリソースを定義し、コアプリミティブを使用して、Kubernetesでスケーラブルなアプリケーションとツールを構築、監視、およびトラブルシューティングできます。
この認定資格は、Kubernetesエンジニア、クラウドエンジニア、およびKubernetesを使用したクラウドネイティブアプリケーションの構築、展開、構成を担当するその他のITプロフェッショナルを対象としています。Kubernetes and Cloud Native Associate (KCNA)の上位資格に該当します。

Certified Kubernetes Application Developer(CKAD)は、The Linux FoundationとCloud Native ComputingFoundation (CNCF) によって開発され、標準化されたトレーニングと認定を通じてKubernetesエコシステムを拡大するのに役立ちます。 この試験は、コマンドラインで解決される一連のパフォーマンスベースのタスク (問題) で構成される、監督付きのオンラインのパフォーマンスベースのテストです。
試験はオンラインで提供され、Linuxを実行するコマンドラインで解決されるパフォーマンスベースのタスク (問題) で構成されます。 試験は、15~20のパフォーマンスベースのタスクで構成されており、受験者はCKAおよびCKAD試験を完了するのに2時間かかります。 試験は、ストリーミングオーディオ、ビデオ、および画面共有フィードを介してリモートで監督されます。

アプリケーションの設計と構築

「アプリケーションの設計と構築」は全体の20%の出題比率となります。
コンテナ イメージの定義、構築、変更、ジョブとCronJobsの理解、マルチコンテナ知識、Podの設計パターン (サイドカー、initなど) の理解、永続ボリュームとエフェメラルボリュームの利用についての理解が問われます。

アプリケーションの展開

「アプリケーションの展開」は全体の20%の出題比率となります。
Kubernetesプリミティブを使用して一般的なデプロイ戦略 (ブルー/グリーンまたはカナリアなど) を実装する知識、デプロイとローリングアップデートの実行方法を理解する知識、Helm パッケージ マネージャーを使用して既存のパッケージをデプロイするといった知識が問われます。

アプリケーションの可観測性とメンテナンス

「アプリケーションの可観測性とメンテナンス」は全体の15%の出題比率となります。 APIの非推奨について理解する、プローブとヘルスチェックを実装する知識、提供されているツールを使用し Kubernetesアプリケーションを監視する知識、コンテナーログを利用するKubernetesでデバッグするといった知識が問われます。

アプリケーション環境、構成、およびセキュリティ

「アプリケーション環境、構成、およびセキュリティ」は全体の25%の出題比率となります。
Kubernetes (CRD) を拡張するリソースの発見と使用、認証、承認、およびアドミッションコントロールの理解、リソース要件、制限、割り当ての理解と定義、ConfigMapの理解、シークレットの作成と消費、ServiceAccountsの 理解、SecurityContextの理解といった知識が問われます。

サービスとネットワーキング

「サービスとネットワーキング」は全体の20%の出題比率となります。 NetworkPoliciesの基本的な理解を実証する知識、サービスを介したアプリケーションへのアクセスを提供し、トラブルシューティングする知識、Ingressルールを使用してアプリケーションを公開するなどの知識が問われます。

CKA

Certified Kubernetes Administrator (CKA) は、CKAがKubernetes管理者の責任を果たすためのスキル、知識、能力を持っていることを保証しています。認定されたKubernetes管理者は、基本的なインストールだけでなく、運用グレードのKubernetesクラスターを構成および管理する能力を実証します。
Certified Kubernetes Administrator (CKA) は、Kubernetesエコシステムの開発を支援する継続的な取り組みの一環として、The Linux FoundationとCloud Native Computing Foundation (CNCF) によって作成されました。 認定されたK8s管理者は、基本的なインストールだけでなく、運用グレードのKubernetesクラスターを構成および管理する能力を実証しています。 また、Kubernetesネットワーキング、ストレージ、セキュリティ、メンテナンス、ロギングとモニタリング、 アプリケーションライフサイクル、トラブルシューティング、APIオブジェクトプリミティブ、およびエンドユーザー向けの基本的なユースケースを確立する能力などの主要な概念を理解しています。

ストレージ

ストレージは全体の10%の出題比率となります。
ストレージクラス、永続ボリュームを理解する知識、ボリュームモード、アクセスモード、およびボリュームの再利用ポリシーを理解する知識、永続ボリュームクレームプリミティブを理解する知識、永続ストレージを使用してアプリケーションを構成する方法を理解するなどの知識が問われます。

トラブルシューティング

トラブルシューティングは全体の30%の出題比率となります。
クラスターとノードのログを評価する知識、アプリケーションを監視する方法を理解する知識、コンテナーの stdoutおよびstderrログを管理する知識、アプリケーション障害のトラブルシューティング、クラスターコンポーネント障害のトラブルシューティング、ネットワーク のトラブルシューティングについての知識が問われます。

ワークロードとスケジューリング

ワークロードとスケジューリングは全体の15%の出題比率となります。
展開と、ローリング更新とロールバックの実行方法を理解する知識、ConfigMapsとSecretを使用してアプリケーションを構成する知識、アプリケーションをスケーリングする方法を理解する知識、堅牢で自己回復するアプリケーション展開を作成するために使用されるプリミティブを理解する知識、リソース制限がPodのスケジューリングにどのように影響するかを理解する知識、マニフェスト管理と共通の認識テンプレートツールについての知識が問われます。

クラスタアーキテクチャ、インストール、構成

クラスタアーキテクチャ、インストール、構成は全体の25%の出題比率となります。
役割ベースのアクセス制御 (RBAC)を管理する知識、Kubeadmを使用して基本的なクラスターをインストールする知識、高可用性Kubernetesクラスターを管理する知識、基になるインフラストラクチャをプロビジョニングしてKubernetesクラスターを展開する知識、Kubeadmを使用してKubernetesクラスターでバージョンアップグレードを実行する知識、etcdのバックアップと復元を実装することについての知識が問われます。

サービスとネットワーキング

サービスとネットワーキングは全体の出題比率の20%となります。 クラスタノードのホストネットワーク構成を理解する知識、Pod間の接続を理解する知識、ClusterIP、NodePort、LoadBalancerサービスタイプとエンドポイントを理解することについての知識が問われます。

CKS

Certified Kubernetes Security Specialist (CKS)は、保有者が幅広いベスト プラクティスに慣れ、有能であることを保証します。
Certified Kubernetes Security Specialist (CKS)認定は、ビルド、デプロイ、実行時にコンテナーベースのアプリケーションとKubernetesプラットフォームを保護するためのスキルを対象としています。受験者は、CKSを受験する前に十分なKubernetesの専門知識を持っていることを示すため、Kubernetes管理者 (CKA) 認定を保持している必要があります。 Certified Kubernetes Security Specialist (CKS)は、シミュレートされた実際の環境で、Kubernetesとクラウドセキュリティに関する受験者の知識をテストする実技ベースの認定試験です。

クラスターのセットアップ

クラスターのセットアップは全体の出題比率の10%です。
ネットワークセキュリティポリシーを使用してクラスターレベルのアクセスを制限する知識、CISベンチマークを使用してKubernetesコンポーネント (etcd、kubelet、kubedns、kubeapi) のセキュリティ構成を確認する知識、セキュリティコントロールを備えたIngressオブジェクトを適切にセットアップする知識、ノードのメタデータとエンドポイントを保護する知識、ノードの使用とアクセスを最小限に抑える知識、GUI要素展開前にプラットフォームバイナリを確認する、などの知識が問われます。

クラスター強化

クラスター強化は全体の出題比率の15%です。 Kubernetes APIへのアクセスを制限する知識、役割ベースのアクセス制御を使用して露出を最小限に抑える知識、 サービスアカウントの使用には注意を払う知識、Kubernetesを頻繁に更新する、などの知識が問われます。

システム強化

システム強化は全体の出題比率の15%です。
ホストOSのフットプリントを最小限に抑える (攻撃対象領域を減らす)知識、IAMロールを最小限に抑える知識、ネットワークへの外部アクセスを最小限に抑える知識、AppArmor、seccompなどのカーネル強化ツールを適切に使用する、などの知識が問われます。

マイクロサービスの脆弱性を最小限に抑える

マイクロサービスの脆弱性を最小限に抑えるの出題比率は20%です。
PSP、OPA、セキュリティコンテキストを使用するなど、適切なOSレベルのセキュリティドメインをセットアップする知識、Kubernetesシークレットを管理する知識、マルチテナント環境 (gvisor、kata コンテナーなど) でコンテナーランタイムサンドボックスを使用する知識、mTLSを使用してポッド間の暗号化を実装する、などの知識が問われます。

サプライチェーンのセキュリティ

サプライチェーンのセキュリティの出題比率は20%です。
ベースイメージのフットプリントを最小化する知識、サプライチェーンを保護する知識、ユーザー、ワークロードの静的分析を使用する知識、イメージをスキャンして既知の脆弱性を探す、などの知識が問われます。

モニタリング、ロギング、ランタイムセキュリティ

モニタリング、ロギング、ランタイムセキュリティの出題比率は20%です。
ホストおよびコンテナーレベルでsyscallプロセスおよびファイルアクティビティの動作分析を実行して、悪意のあるアクティビティを検出する知識や、物理インフラストラクチャ、アプリ、ネットワーク、データ、ユーザー、およびワークロード内の脅威を検出する知識、発生場所や拡散方法に関係なく、攻撃のすべてのフェーズを検出する知識、詳細な分析を実行する環境内の悪意のある人物の調査と特定する知識、実行時のコンテナの不変性を保証する知識、する知識、監査ログを使用してアクセスを監視する、などの知識が問われます。

まとめ

いかがでしたでしょうか?
Kubernetesと認定資格について解説させていただきましたので、参考にしていただけましたら幸いです。