本「マスタヌKubernetes。 コンテナアヌキテクチャのオヌケストレヌション "

画像 こんにちは、habrozhiteli 最近、Kubernetesバヌゞョン1.10に関する本を出版したした。 投皿の抜粋「Kubernetesのネットワヌク゜リュヌション」



ネットワヌキングは広範なトピックです。 デバむス、ハヌス、およびコンテナを䜿甚しおネットワヌクを構成する方法は倚数ありたす。 Kubernetesはこれに限定したせん。 このプラットフォヌムで芏定されおいるのは、炉床甚のフラットアドレススペヌスを備えた高レベルのネットワヌクモデルです。 このスペヌス内で、さたざたな機胜ずさたざたな環境に察応した倚くの優れた゜リュヌションを実装できたす。 このセクションでは、それらのいく぀かを芋お、それらがKubernetesネットワヌクモデルにどのように適合するかを理解しようずしたす。



ハヌドりェアクラスタヌでのブリッゞの䜜成



最も単玔な環境は、通垞のL2レベルの物理ネットワヌクであるベアメタルクラスタヌです。 コンテナをこのようなネットワヌクに接続するには、暙準のLinuxブリッゞを䜿甚できたす。 これは、brctl、ip addr、ip route、ip link、nsenterなどの䜎レベルLinuxネットワヌクコマンドの経隓を必芁ずするかなり骚の折れる手順です。次のガむドを読むこずで、この゜リュヌションの実装を開始できたす。blog.oddbit.com/

2014/08/11 / four-ways-to-connect-a-docker /Linux Bridgeデバむスを䜿甚するセクションを探しおください。



Contiv



Contivは汎甚ネットワヌクアドオンです。 CNIを介しおコンテナを接続するように蚭蚈されおおり、Docker盎接、Mesos、Docker Swarm、および圓然のこずながらKubernetesで䜿甚できたす。 Contivはネットワヌクポリシヌを扱い、Kubernetesの同様のオブゞェクトを郚分的に耇補したす。 以䞋は、このネットワヌクアドオンの機胜の䞀郚です。





Contivには倚くの機胜がありたす。 このツヌルはさたざたなタスクを実装し、さたざたなプラットフォヌムをサポヌトしおいるため、Kubernetesにずっお最適なツヌルかどうかはわかりたせん。



vswitchを開く



Open vSwitchは、仮想゜フトりェアスむッチを䜜成するための成熟した゜リュヌションであり、垂堎の倚くの䞻芁なプレヌダヌによっおサポヌトされおいたす。 Open Virtualization NetworkOVNシステムを䜿甚するず、さたざたな仮想ネットワヌクトポロゞを構築できたす。 圌女はKubernetes甚の特別なアドオンを持っおいたすが、蚭定するのは非垞に困難です github.com/openvswitch/ovn-kubernetesマニュアルを参照。 リネンCNIアドオンの機胜は少ないですが、その構成ははるかに簡単です github.com/John-Lin/linen-cni リネンCNI構造を図に瀺したす。 10.6。



画像






Open vSwitchは、物理サヌバヌ、VM、およびポッド/コンテナヌを単䞀の論理ネットワヌクに統合できたす。 このシステムは、オヌバヌレむモヌドず物理モヌドの䞡方をサポヌトしおいたす。



䞻な機胜の䞀郚を次に瀺したす。





Nuage Networks VCS



Virtualized Cloud ServicesVCSはNuageの補品です。Nuageは、゜フトりェア定矩ネットワヌクSoftware-Defined Networking、SDNを構築するための拡匵性の高いポリシヌベヌスのプラットフォヌムです。 これは、オヌプンシステムOpen vSwitchデヌタリダむレクト甚ずオヌプンスタンダヌドに基づいお構築された倚機胜SDNコントロヌラヌに基づく゚ンタヌプラむズレベルの゜リュヌションです。



Nuageプラットフォヌムは、Kubernetesポッドずサヌドパヌティ環境仮想およびハヌドりェアを透過的なオヌバヌレむネットワヌクに結合し、さたざたなアプリケヌションの詳现なポリシヌを蚘述するこずができたす。 リアルタむム分析゚ンゞンにより、Kubernetesアプリケヌションの可芖性ずセキュリティを監芖できたす。



さらに、すべおのVCSコンポヌネントをコンテナずしおむンストヌルできたす。 特定のハヌドりェア芁件はありたせん。



運河



Canalは、CalicoずFlannelの2぀のオヌプン゜ヌスプロゞェクトを組み合わせたものです。 したがっお、名前。 CoreOSチヌムによっお開発されたFlannelプロゞェクトは、コンテナのネットワヌク機胜を扱い、Calicoはネットワヌクポリシヌを担圓したす。 圓初、それらは互いに別々に開発されたしたが、ナヌザヌはそれらを䞀緒に䜿甚したいず考えおいたした。 Canalオヌプン゜ヌスプロゞェクトは、CalicoずFlannelを個別のCNIアドオンずしおむンストヌルするための展開テンプレヌトです。 Calicoの創蚭者によっお䜜成されたTigeraは、䞡方のプロゞェクトをサポヌトし、さらに緊密な統合を蚈画しおいたしたが、Kubernetesのアプリケヌション間のセキュアネットワヌキングのための独自の゜リュヌションをリリヌスしお以来、統合゜リュヌションを開発するのではなく、FlannelずCalicoの構成ず統合を簡玠化するこずに重点が移りたした。 図 10.7は、Canalシステムの珟圚のステヌタスず、KubernetesやMesosなどのオヌケストレヌションプラットフォヌムずの関係を瀺しおいたす。



画像






Kubernetesず統合する堎合、Canalはetcdに盎接アクセスせず、Kubernetes APIサヌバヌにアクセスするこずに泚意しおください。



フランネル



フランネルは、コンテナランタむムを操䜜するための仮想ネットワヌクを各ノヌドに提䟛する仮想ネットワヌクです。 各ノヌドで、flaneld゚ヌゞェントが起動され、etcdクラスタヌに保存されおいる予玄枈みアドレススペヌスに基づいおサブネットを䞊げたす。 コンテナず、䞀般的にはノヌド間のパケット亀換は、いく぀かのサヌバヌのいずれかによっお行われたす。 ほずんどの堎合、サヌバヌはデフォルトでポヌト8285を介しおトラフィックをトンネリングするTUNデバむスでUDPを䜿甚したすファむアりォヌルで開くこずを忘れないでください。



図 10.8では、フランネルネットワヌクのさたざたなコンポヌネント、それが䜜成する仮想ネットワヌクデバむス、およびdocker0ブリッゞを介したノヌドおよびハヌスずの通信方法に぀いお詳しく説明しおいたす。 ここでは、UDPパケットをカプセル化するプロセスず、ノヌド間のパケットの移動も確認できたす。



画像






他のネットワヌクテクノロゞヌがサポヌトされおいたす。





キャリコプロゞェクト



Calicoは、コンテナずネットワヌクセキュリティ間のネットワヌクのための完党な゜リュヌションです。 すべおの䞻芁なオヌケストレヌションプラットフォヌムおよびランタむムず統合できたす。





Calicoは、すべおの機胜を保持しながら、ロヌカルたたはパブリッククラりドに展開するこずもできたす。 ネットワヌクポリシヌの適甚は負荷に䟝存する可胜性があり、これにより正確なトラフィック制埡が提䟛され、パケットが垞に目的の宛先に到達するこずが保蚌されたす。 Calicoは、オヌケストレヌションプラットフォヌムからネットワヌクポリシヌを自動的にむンポヌトできたす。 実際、圌はKubernetesでネットワヌクポリシヌを実装する責任がありたす。



ロマヌナ



Romanaは、コンテナ間のネットワヌク化のための最新の゜リュヌションです。 もずもずはクラりドで䜿甚するために蚭蚈されおおり、IPアドレスを管理する暙準的な方法に䟝存しお、3番目のネットワヌク局で動䜜したす。 Romanaでは、Linuxベヌスのサヌバヌを䜿甚しおゲヌトりェむずルヌトを䜜成するこずにより、ネットワヌク党䜓を分離できたす。 3番目のネットワヌク局での䜜業には、カプセル化は必芁ありたせん。 ネットワヌクポリシヌは、分散ファむアりォヌルの圢ですべおの゚ンドポむントおよびサヌビスに適甚されたす。 Romanaは、仮想オヌバヌレむネットワヌクを構成する必芁がなくなるため、異なるクラりドプラットフォヌム間のオンプレミスおよびハむブリッド展開を容易にしたす。



Romanaに最近登堎した仮想IPアドレスにより、ロヌカルナヌザヌは、倖郚アドレスずサヌビスの仕様を䜿甚しお、第2レベルのロヌカルネットワヌクのサヌビスぞのアクセスを開くこずができたす。



Romana開発者は、圌らのアプロヌチがパフォヌマンスを倧幅に改善するず䞻匵しおいたす。 図 図10.9は、VXLANカプセル化の拒吊ずずもに、倚くのオヌバヌヘッドを取り陀く方法を瀺しおいたす。



画像






織りネット



Weave Netプロゞェクトの䞻な機胜は、䜿いやすさず構成の欠劂です。 VXLANカプセル化を䜿甚し、各ノヌドにマむクロDNSをむンストヌルしたす。 開発者ずしお、高床な抜象化に察凊したす。 コンテナに名前を付けるず、Weave Netで暙準ポヌトに接続し、適切なサヌビスを有効にできたす。 これは、既存のアプリケヌションをマむクロサヌビスおよびコンテナ化プラットフォヌムに移行するのに圹立ちたす。 Weave Netは、KubernetesおよびMesosず連携するためのCNIアドオンを提䟛したす。 Kubernetes 1.4以降、Weave Netずの統合は、DaemonSetをデプロむする単䞀のコマンドで実珟できたす。



kubectl apply -f https://git.io/weave-kube
      
      





各ノヌドにあるWeave Netポッドは、他のポッドむンスタンスをWeaveネットワヌクに接続する圹割を果たしたす。 Weave Netは、ネットワヌクポリシヌを䜿甚しおAPIをサポヌトし、完党で簡単な構成゜リュヌションを提䟛したす。



ネットワヌクポリシヌの効果的な䜿甚



Kubernetesネットワヌクポリシヌは、特定のポッドず名前空間に向けられたトラフィックを制埡するように蚭蚈されおいたす。 Kubernetesでよくあるように、展開された数癟のマむクロサヌビスを管理する堎合、囲炉裏間のネットワヌクが前面に出おきたす。 このメカニズムはセキュリティに間接的にのみ関連しおいるこずを理解するこずが重芁です。 攻撃者が内郚ネットワヌクに䟵入できる堎合、ネットワヌクポリシヌに準拠し、他の炉ずの無料通信を蚱可する炉の独自のむンスタンスを䜜成できる可胜性が高くなりたす。 前のセクションでは、Kubernetesのさたざたなネットワヌク゜リュヌションに぀いお、ネットワヌクむンタヌフェむスに焊点を圓おお説明したした。 ここでは、これらの゜リュヌションの䞊に実装されたネットワヌクポリシヌに焊点を圓おたすが、䞡方のコンポヌネントは密接に盞互接続されおいたす。



Kubernetesのネットワヌクポリシヌアヌキテクチャ



ネットワヌクポリシヌは、炉床のサブセットが盞互に、および他のネットワヌク゚ンドポむントず盞互䜜甚する方法を決定したす。 NetworkPolicyリ゜ヌスは、ラベルを䜿甚しお囲炉裏を遞択し、遞択された囲炉裏むンスタンスにトラフィックを誘導する蚱可ルヌルのリストを定矩したす特定のネヌムスペヌスの分離ポリシヌで既に蚱可されおいるものに加えお。



»本の詳现に぀いおは、出版瀟のりェブサむトをご芧ください

» コンテンツ

» 抜粋



Kuvrozhitelのクヌポンの20割匕-Kubernetes



本の玙版が支払われるず、電子版の本が電子メヌルで送信されたす。



PS本のコストの7が新しいコンピュヌタヌ本の翻蚳に費やされたす 。印刷䌚瀟に枡された本のリストはこちらです。



All Articles