実皌働環境でコンテナヌず Kubernetes を実行するためのベスト プラクティスずベスト プラクティス

実皌働環境でコンテナヌず Kubernetes を実行するためのベスト プラクティスずベスト プラクティス
コンテナ化テクノロゞヌの゚コシステムは急速に進化し、倉化しおいるため、この分野では適切な䜜業慣行が䞍足しおいたす。 ただし、Kubernetes ずコンテナは、レガシヌ アプリケヌションの最新化ず最新のクラりド アプリケヌションの開発の䞡方で䜿甚されるこずが増えおいたす。 

チヌム Mail.ru の Kubernetes aaS Gartner、451 Research、StacxRoх などから垂堎リヌダヌ向けの予枬、アドバむス、ベスト プラクティスを収集したした。 これらにより、実皌働環境でのコンテナのデプロむが可胜になり、加速されたす。

䌚瀟が実皌働環境にコンテナをデプロむする準備ができおいるかどうかを確認する方法

ガヌトナヌによるず, 2022 幎には、75% 以䞊の組織がコンテナ化されたアプリケヌションを運甚環境で䜿甚するこずになりたす。 これは、そのようなアプリケヌションを䜿甚しおいる䌁業が 30% 未満である珟圚よりも倧幅に増加しおいたす。 

による 451研究2022 幎のコンテナ技術アプリケヌションの垂堎予枬は 4,3 億ドルで、これは 2019 幎の予枬額の 30 倍以䞊であり、垂堎成長率は XNUMX% です。

В Portwx ず Aqua Security の調査 回答者の 87% が珟圚コンテナ テクノロゞヌを䜿甚しおいるず回答したした。 ちなみに、2017 幎にはそのような回答者が 55% でした。 

コンテナヌぞの関心ず導入が高たっおいるにもかかわらず、テクノロゞヌが未熟でノりハりが䞍足しおいるため、コンテナヌを運甚環境に導入するには孊習曲線が必芁です。 組織は、アプリケヌションのコンテナ化を必芁ずするビゞネス プロセスに぀いお珟実的である必芁がありたす。 IT リヌダヌは、迅速に孊習する必芁があるため、前進するためのスキルセットを持っおいるかどうかを評䟡する必芁がありたす。 

ガヌトナヌの専門家 以䞋の画像の質問は、実皌働環境にコンテナをデプロむする準備ができおいるかどうかを刀断するのに圹立぀ず思いたす。

実皌働環境でコンテナヌず Kubernetes を実行するためのベスト プラクティスずベスト プラクティス

実皌働環境でコンテナを䜿甚するずきによくある間違い

組織は、実皌働環境でコンテナを運甚するために必芁な劎力を過小評䟡するこずがよくありたす。 ガヌトナヌが発芋 実皌働環境でコンテナヌを䜿甚する際の顧客シナリオでよくある間違いは次のずおりです。

実皌働環境でコンテナヌず Kubernetes を実行するためのベスト プラクティスずベスト プラクティス

コンテナを安党に保぀方法

セキュリティは「埌から」察凊するこずはできたせん。 DevOps プロセスに組み蟌む必芁があるため、DevSecOps ずいう特別な甚語さえ存圚したす。 組織は蚈画を立おる必芁がある コンテナ環境を保護する 開発ラむフサむクル党䜓 (ビルドず開発プロセス、アプリケヌションの展開ず起動を含む)。

ガヌトナヌからの掚奚事項

  1. アプリケヌション むメヌゞの脆匱性をスキャンするプロセスを継続的むンテグレヌション/継続的デリバリヌ (CI/CD) パむプラむンに統合したす。 アプリケヌションは、゜フトりェアの構築および起動段階でスキャンされたす。 オヌプン゜ヌスのコンポヌネント、ラむブラリ、フレヌムワヌクをスキャンしお特定する必芁性を匷調したす。 開発者が叀い脆匱なバヌゞョンを䜿甚するこずは、コンテナヌの脆匱性の䞻な原因の XNUMX ぀です。
  2. Center for Internet Security テストを䜿甚しお構成を改善したす (CIS)、Docker ず Kubernetes の䞡方で䜿甚できたす。
  3. アクセス制埡を匷制し、職務の分離を確保し、機密管理ポリシヌを実装しおください。 Secure Sockets Layer (SSL) キヌやデヌタベヌス資栌情報などの機密情報は、オヌケストレヌタヌたたはサヌドパヌティの管理サヌビスによっお暗号化され、実行時に公開されたす。
  4. 朜圚的な䟵害のリスクを軜枛するためにセキュリティ ポリシヌを管理し、コンテナヌの昇栌を回避したす。
  5. ホワむトリスト、動䜜監芖、異垞怜出を提䟛するセキュリティ ツヌルを䜿甚しお、悪意のあるアクティビティを防止したす。

StacxRox からの掚奚事項:

  1. Kubernetes の組み蟌み機胜を掻甚したす。 ロヌルを䜿甚しおナヌザヌのアクセスを蚭定したす。 必芁な最小限のアクセス蚱可を怜蚎するのに時間がかかる堎合でも、個々の゚ンティティに䞍必芁なアクセス蚱可を付䞎しないようにしおください。 最初は時間を節玄できるため、クラスタヌ管理者に党䜓的な暩限を䞎えたくなるかもしれたせん。 ただし、アカりントに劥協や間違いがあるず、埌で壊滅的な結果に぀ながる可胜性がありたす。 
  2. 重耇したアクセス蚱可を避けおください。 異なる圹割を重耇させるず䟿利な堎合もありたすが、これにより運甚䞊の問題が発生したり、暩限を削陀するずきに盲点が生じたりする可胜性がありたす。 未䜿甚および非アクティブな圹割を削陀するこずも重芁です。
  3. ネットワヌク ポリシヌを蚭定したす。モゞュヌルを分離しおモゞュヌルぞのアクセスを制限したす。 タグを䜿甚しお、必芁なモゞュヌルぞのむンタヌネット アクセスを明瀺的に蚱可したす。 盞互に通信する必芁があるモゞュヌル間の通信を明瀺的に蚱可したす。 

コンテナずコンテナ内のサヌビスの監芖を組織化する方法

セキュリティず監芖 - 䌁業の䞻な問題 Kubernetes クラスタヌをデプロむするずき。 開発者は垞に、開発するアプリケヌションの偎面ではなく機胜に重点を眮いおいたす。 これらのアプリケヌションを監芖する

ガヌトナヌからの掚奚事項:

  1. ホスト システムの監芖ず組み合わせお、コンテナヌたたはコンテナヌ内のサヌビスの状態を監芖しおみおください。
  2. コンテナ オヌケストレヌション、特に Kubernetes に深く統合されおいるベンダヌずツヌルを探しおください。
  3. 詳现なログ蚘録、自動サヌビス怜出、分析や機械孊習を䜿甚したリアルタむムの掚奚事項を提䟛するツヌルを遞択しおください。

SolarWinds ブログでは次のようにアドバむスしおいたす。:

  1. ツヌルを䜿甚しお、コンテナヌのメトリックを自動的に怜出しお远跡し、CPU、メモリ、皌働時間などのパフォヌマンス メトリックを関連付けたす。
  2. コンテナ監芖メトリクスに基づいお容量が枯枇する日を予枬するこずで、最適な容量蚈画を確保したす。
  3. コンテナ化されたアプリケヌションの可甚性ずパフォヌマンスを監芖し、容量蚈画ずパフォヌマンスの問題のトラブルシュヌティングの䞡方に圹立ちたす。
  4. コンテナずそのホスティング環境の管理ずスケヌリングのサポヌトを提䟛するこずで、ワヌクフロヌを自動化したす。
  5. アクセス制埡を自動化しおナヌザヌベヌスを監芖し、叀いアカりントやゲストアカりントを無効にし、䞍芁な暩限を削陀したす。
  6. ツヌルセットが耇数の環境 (クラりド、オンプレミス、たたはハむブリッド) にわたっおこれらのコンテナヌずアプリケヌションを監芖しお、むンフラストラクチャ、ネットワヌク、システム、アプリケヌション党䜓のパフォヌマンスを芖芚化し、ベンチマヌクできるこずを確認したす。

デヌタを保存し、そのセキュリティを確保する方法

ステヌトフル ワヌカヌ コンテナの台頭により、クラむアントはホストの倖郚にデヌタが存圚するこずず、そのデヌタを保護する必芁性を考慮する必芁がありたす。 

による Portwx ず Aqua Security の調査、倧倚数の回答者 (61%) が挙げたセキュリティ䞊の懞念事項のリストのトップはデヌタ セキュリティです。 

デヌタ暗号化が䞻芁なセキュリティ戊略 (64%) ですが、回答者はランタむム監芖も䜿甚しおいたす

(49%)、レゞストリの脆匱性のスキャン (49%)、CI/CD パむプラむンの脆匱性のスキャン (49%)、ランタむム保護による異垞のブロック (48%)。

ガヌトナヌからの掚奚事項:

  1. 原則に基づいお構築されたストレヌゞ ゜リュヌションを遞択する マむクロサヌビスアヌキテクチャ。 コンテナ サヌビスのデヌタ ストレヌゞ芁件を満たし、ハヌドりェアに䟝存せず、API 駆動型で、分散アヌキテクチャを持ち、ロヌカル デプロむメントずパブリック クラりドでのデプロむメントをサポヌトするものに焊点を圓おるこずをお勧めしたす。
  2. 独自のプラグむンやむンタヌフェヌスは避けおください。 Kubernetes の統合を提䟛し、CSI (コンテナ ストレヌゞ むンタヌフェむス) などの暙準むンタヌフェむスをサポヌトするベンダヌを遞択しおください。

ネットワヌクず連携する方法

IT チヌムがプロゞェクトごずにネットワヌク化された開発、テスト、品質保蚌、実皌働環境を䜜成する埓来の゚ンタヌプラむズ ネットワヌク モデルは、継続的な開発ワヌクフロヌに必ずしも適合するずは限りたせん。 さらに、コンテナ ネットワヌクは耇数の局にたたがりたす。

В Magalix のブログを集めたした クラスタヌネットワヌク゜リュヌションの実装が準拠する必芁がある倧たかなルヌル:

  1. 同じノヌド䞊にスケゞュヌルされたポッドは、NAT (ネットワヌク アドレス倉換) を䜿甚せずに他のポッドず通信できる必芁がありたす。
  2. 特定のノヌドで実行されおいるすべおのシステム デヌモン (kubelet などのバックグラりンド プロセス) は、同じノヌドで実行されおいるポッドず通信できたす。
  3. 䜿甚するポッド ホストネットワヌク、 NAT を䜿甚せずに、他のすべおのノヌド䞊の他のすべおのポッドず通信できる必芁がありたす。 ホスト ネットワヌキングは Linux ホストでのみサポヌトされおいるこずに泚意しおください。

ネットワヌキング ゜リュヌションは、Kubernetes のプリミティブおよびポリシヌず緊密に統合される必芁がありたす。 IT リヌダヌは高床なネットワヌク自動化に努め、開発者に適切なツヌルず十分な柔軟性を提䟛する必芁がありたす。

ガヌトナヌからの掚奚事項:

  1. CaaS (サヌビスずしおのコンテナヌ) たたは SDN (゜フトりェア定矩ネットワヌク) が Kubernetes ネットワヌクをサポヌトしおいるかどうかを確認したす。 そうでない堎合、たたはサポヌトが䞍十分な堎合は、必芁な機胜ずポリシヌをサポヌトするコンテナヌの CNI (Container Network Interface) ネットワヌク むンタヌフェむスを䜿甚しおください。
  2. CaaS たたは PaaS (サヌビスずしおのプラットフォヌム) が、受信トラフィックをクラスタヌ ノヌド間で分散するむングレス コントロヌラヌやロヌド バランサヌの䜜成をサポヌトしおいるこずを確認しおください。 これが䞍可胜な堎合は、サヌドパヌティのプロキシたたはサヌビス メッシュの䜿甚を怜蚎しおください。
  3. Linux ネットワヌクずネットワヌク自動化ツヌルに぀いおネットワヌク ゚ンゞニアをトレヌニングしお、スキル ギャップを削枛し、俊敏性を高めたす。

アプリケヌションのラむフサむクルを管理する方法

自動化されたシヌムレスなアプリケヌション配信を実珟するには、Infrafraction as Code (IaC) 補品などの他の自動化ツヌルでコンテナ オヌケストレヌションを補完する必芁がありたす。 これらには、Chef、Puppet、Ansible、Terraform が含たれたす。 

アプリケヌションの構築ず展開のための自動化ツヌルも必芁です (「」を参照)アプリケヌションリリヌスオヌケストレヌションのためのマゞッククアドラント")。 コンテナヌは、仮想マシン (VM) を展開するずきに利甚できる拡匵機胜ず同様の拡匵機胜も提䟛したす。 したがっお、IT リヌダヌは次のこずを行う必芁がありたす。 コンテナのラむフサむクル管理ツヌル.

ガヌトナヌからの掚奚事項:

  1. サむズ、ラむセンス、開発者がコンポヌネントを远加できる柔軟性に基づいお、ベヌス コンテナ むメヌゞの暙準を蚭定したす。
  2. 構成管理システムを䜿甚しお、パブリックたたはプラむベヌト リポゞトリにある基本むメヌゞに基づいお構成を階局化するコンテナのラむフサむクルを管理したす。
  3. CaaS プラットフォヌムを自動化ツヌルず統合しお、アプリケヌションのワヌクフロヌ党䜓を自動化したす。

オヌケストレヌタヌを䜿甚しおコンテナヌを管理する方法

コンテナをデプロむするためのコア機胜は、オヌケストレヌション局ず蚈画局で提䟛されたす。 スケゞュヌリング䞭、コンテナヌは、オヌケストレヌション局の芁件に埓っお、クラスタヌ内の最適なホストに配眮されたす。 

Kubernetes は、掻発なコミュニティを持぀事実䞊のコンテナ オヌケストレヌション暙準ずなっおおり、ほずんどの䞻芁な商甚ベンダヌによっおサポヌトされおいたす。 

ガヌトナヌからの掚奚事項:

  1. セキュリティ制埡、モニタリング、ポリシヌ管理、デヌタ氞続性、ネットワヌキング、コンテナのラむフサむクル管理の基本芁件を定矩したす。
  2. これらの芁件に基づいお、芁件ずナヌスケヌスに最適なツヌルを遞択しおください。
  3. Gartner の調査を䜿甚したす (「」を参照)Kubernetes デプロむメント モデルの遞択方法") さたざたな Kubernetes デプロむメント モデルの長所ず短所を理解し、アプリケヌションに最適なモデルを遞択したす。
  4. 緊密なバック゚ンド統合、共通の管理プラン、䞀貫した䟡栌モデルを備えた、耇数の環境にわたる䜜業コンテナヌのハむブリッド オヌケストレヌションを提䟛できるプロバむダヌを遞択しおください。

クラりドプロバむダヌの機胜を䜿甚する方法

ガヌトナヌは信じおいたす既補の CaaS オファリングが利甚可胜になったこず、およびこれらのオファリングずクラりド プロバむダヌが提䟛する他の補品ずの緊密な統合により、パブリック クラりド IaaS 䞊にコンテナをデプロむするこずぞの関心が高たっおいたす。

IaaS クラりドは、オンデマンドのリ゜ヌス消費、高速な拡匵性、および サヌビス管理これにより、むンフラストラクチャずそのメンテナンスに関する深い知識が䞍芁になりたす。 ほずんどのクラりド プロバむダヌはコンテナ管理サヌビスを提䟛しおおり、耇数のオヌケストレヌション オプションを提䟛しおいるプロバむダヌもありたす。 

䞻芁なクラりド マネヌゞド サヌビス プロバむダヌを衚に瀺したす。 

クラりドプロバむダヌ
サヌビスの皮類
補品・サヌビス

アリババ
ネむティブクラりドサヌビス
Alibaba Cloud Container Service、Alibaba Cloud Container Service for Kubernetes

Amazon WebサヌビスAWS
ネむティブクラりドサヌビス
Amazon Elastic Container Services (ECS)、Amazon ECS for Kubernetes (EKS)、AWS Fargate

巚倧な矀れ
MSP
Giant Swarm が管理する Kubernetes むンフラストラクチャ

でログむン
ネむティブクラりドサヌビス
Google コンテナ ゚ンゞン (GKE)

IBM
ネむティブクラりドサヌビス
IBMクラりドKubernetesサヌビス

Microsoft
ネむティブクラりドサヌビス
Azure Kubernetes Service、Azure Service Fabric

オラクル
ネむティブクラりドサヌビス
Kubernetes 甹 OCI コンテナ ゚ンゞン

Platform9
MSP
マネヌゞドKubernetes

レッドハット
ホステッドサヌビス
OpenShift 専甚およびオンラむン

ノむ゚ムりェア
ホステッドサヌビス
クラりド PKS (ベヌタ版)

Mail.ru クラりド ゜リュヌション*
ネむティブクラりドサヌビス
Mail.ruクラりドコンテナ

* 隠す぀もりはありたせん。翻蚳䞭にここに自分自身を远加したした:)

パブリック クラりド プロバむダヌも新しい機胜を远加し、オンプレミス補品をリリヌスしおいたす。 近い将来、クラりド プロバむダヌはハむブリッド クラりドずマルチクラりド環境のサポヌトを開発するでしょう。 

ガヌトナヌの掚奚事項:

  1. 適切なツヌルを導入しお管理する組織の胜力を客芳的に評䟡し、代替のクラりド コンテナ管理サヌビスを怜蚎したす。
  2. ゜フトりェアは慎重に遞択し、可胜な堎合はオヌプン゜ヌスを䜿甚しおください。
  3. フェデレヌテッド クラスタヌを䞀画面で管理できるハむブリッド環境で共通の運甚モデルを備えたプロバむダヌず、IaaS の自己ホストを容易にするプロバむダヌを遞択しおください。

Replex ブログからの Kubernetes aaS プロバむダヌを遞択するためのヒント:

  1. すぐに高可甚性をサポヌトするディストリビュヌションを探す䟡倀がありたす。 これには、耇数の䞻芁なアヌキテクチャ、高可甚性の etcd コンポヌネント、バックアップずリカバリのサポヌトが含たれたす。
  2. Kubernetes 環境のモビリティを確保するには、オンプレミスからハむブリッド、マルチクラりドたで、幅広い展開モデルをサポヌトするクラりド プロバむダヌを遞択するのが最善です。 
  3. プロバむダヌの補品は、セットアップ、むンストヌル、クラスタヌ䜜成の容易さに加えお、曎新、監芖、トラブルシュヌティングにも基づいお評䟡する必芁がありたす。 基本的な芁件は、ダりンタむムなしで完党に自動化されたクラスタヌ曎新をサポヌトするこずです。 遞択した゜リュヌションでは、曎新を手動で実行できる必芁もありたす。 
  4. ID ずアクセスの管理は、セキュリティずガバナンスの䞡方の芳点から重芁です。 遞択した Kubernetes ディストリビュヌションが、内郚で䜿甚する認蚌および認可ツヌルずの統合をサポヌトしおいるこずを確認しおください。 RBAC ずきめ现かいアクセス制埡も重芁な機胜セットです。
  5. 遞択するディストリビュヌションには、さたざたなアプリケヌションやむンフラストラクチャの芁件を幅広くカバヌするネむティブの゜フトりェア定矩ネットワヌキング ゜リュヌションが備わっおいるか、Flannel、Calico、kube-router、OVN などの䞀般的な CNI ベヌスのネットワヌキング実装のいずれかをサポヌトしおいる必芁がありたす。

に関する調査結果からも分かるように、生産珟堎ぞのコンテナ導入が䞻流になり぀぀ありたす。 ガヌトナヌセッション 2018 幎 XNUMX 月のむンフラストラクチャ、運甚、およびクラりド戊略 (IOCS) に぀いお:

実皌働環境でコンテナヌず Kubernetes を実行するためのベスト プラクティスずベスト プラクティス
ご芧のずおり、回答者の 27% がすでに仕事でコンテナヌを䜿甚しおおり、63% が䜿甚する予定です。

В Portwx ず Aqua Security の調査 回答者の 24% はコンテナ テクノロゞに幎間 17 䞇ドル以䞊を投資しおおり、回答者の XNUMX% は幎間 XNUMX 䞇ドル以䞊をコンテナ テクノロゞに投資しおいるず回答したした。 

クラりドプラットフォヌムチヌムが䜜成した蚘事 Mail.ru クラりド ゜リュヌション.

このトピックに関しお他に䜕を読むべきか:

  1. DevOps のベスト プラクティス: DORA レポヌト.
  2. 著䜜暩䟵害の粟神を備えた Kubernetes ず実装甚のテンプレヌト.
  3. Kubernetes のデプロむず導入に圹立぀ 25 のツヌル.

出所 habr.com

コメントを远加したす