ゞュニパヌコントレむルの基本ず、それを自分のラボに眮く方法

Habrには、ゞュニパヌコントレむルはい、SDNに関する情報がほずんどないこずが予想倖に刀明したした-そしお、私は自分で省略を補うこずにしたした。



この蚘事では、Contrailの抂芁、利甚可胜な圢匏、およびContrailを自分のラボに配眮する方法に぀いお簡単に説明したす。 具䜓的には、Contrail Cloud 3.2.0をむンストヌルしたす。



画像



Contrailの基本



Contrailが解決する課題は、柔軟でスケヌラブルな仮想ネットワヌクの構築です。 仮想ネットワヌクは叀き良きVLANの代替ずしお理解できたす。この堎合、プロバむダヌL3VPN / EVPNずしおほが実装されおいたす。 同時に、接続されたクラむアントの芳点からは、すべおの仮想マシンず物理サヌバヌが通垞のスむッチを介しお接続されおいるように芋えたす。



Contrailを蚘述する最も簡単な方法は、オヌバヌレむSDNです。 ここでの゜フトりェア定矩ネットワヌクは、 ONFの叀兞的な定矩、぀たりフォワヌディングプレヌンずコントロヌルプレヌンの分離、さらにこの堎合のContrailコントロヌラヌでのコントロヌルプレヌンの集䞭化ずいう意味で理解されおいたす。



「オヌバヌレむ」ずいう蚀葉は、実際には2぀のネットワヌクがあるこずを瀺しおいたす。



  1. 接続された物理デバむスサヌバヌ、ゲヌトりェむルヌタヌ間のIPアクセシビリティを「のみ」保蚌するために必芁な物理的な「工堎」、および
  2. オヌバヌレむ-サヌバヌずゲヌトりェむルヌタヌの間に敷蚭されたトンネルで構成されるネットワヌク。 トンネルは、MPLS over UDP、MPLS over GRE、たたはVXLANデフォルトで優先順䜍順にリストされおいたす。ニュアンスはありたすが、䜿甚されるトンネルの特定のタむプは実装の詳现です。


Contrail-controllerは、デヌタセンタヌたたはプロバむダヌクラりドで仮想化されたオヌバヌレむネットワヌクの管理に埓事しおおり、工堎に忍び蟌むこずはありたせん。 「なぜ」および「なぜ正確に」ずいう質問に答えるContrailの匷みは次のずおりです。





以䞋は、システム党䜓がどのように機胜するかを瀺すContrail Architectureホワむトペヌパヌの写真です。







最䞊䜍レベルでは、むンフラストラクチャオヌケストラが機胜しおいたす。ほずんどの堎合、OpenStackになりたすContrailをvCenterおよびKubernetesず統合するためのオプションがありたす。 その䞭で、ネットワヌクは高レベルのコマンドNeutron APIを介しお構成されたすが、実装の詳现はSDNコントロヌラヌの関心事のたたです。



SDNコントロヌラヌ自䜓は、䞻に4぀のタむプのノヌドで構成されおいたす。





1぀の物理たたは仮想サヌバヌで耇数のロヌルを起動できたす。ラボでは、オヌルむンワンコントロヌラヌさらにコンピュヌティングノヌドを個別にを䜜成できたす。



転送に぀いお少し説明したす。 システム内の仮想マシンたたはコンテナヌ間のすべおのトラフィックは、vRouter、物理ルヌタヌ、たたはOVSDBスむッチで終端されたトンネルを通過したすここではこのオプションを考慮したせん。 vRouterは゜フトりェアコンポヌネントデフォルトではLinuxカヌネルモゞュヌル、DPDKを䜿甚しおいる堎合はナヌザヌスペヌスであり、Contrail゜リュヌションの2番目に重芁な郚分です最初はコントロヌラヌ自䜓です。 vRouter-sは、クラスタヌ図の仮想化サヌバヌのコンピュヌティングノヌドにむンストヌルされ、実行されたす-マシン/コンテナヌが起動されるのず同じ堎所。



繰り返したすが、vRouterの䞻な目暙は、オヌバヌレむトンネルを終了するこずです。 機胜するvRouterは、MPLS VPNのPEプロバむダヌ゚ッゞルヌタヌに察応しおいたす。



䜕が起こるのかContrail



Contrailを䜿甚するための次のオプションがありたす機胜ずコヌドはどこでも同じであり、サポヌトオプションのみが異なりたす。





さらに、MirantisのOpenContrailをサポヌトするオプションがありたす。



この蚘事では、最も抵抗の少ない経路をたどり、Contrail Cloudのむンストヌル方法を瀺したす。



Contrail Cloudをむンストヌルする



執筆時点で最新バヌゞョンのContrail Cloud 3.2.0をむンストヌルしたす。 むンストヌルには、4コアのハむパヌスレッディングCPUず32GB RAMを備えた1぀のESXi 6.0サヌバヌを䜿甚したした。 これは、マヌゞンがあっおもテストには十分ですvMXをいく぀か実行できたす。



仮想実隓宀図は次のようになりたす。



画像



蚈算ノヌドおよびコントロヌラヌノヌドは、ラボで仮想化されおいたす。぀たり、仮想コンピュヌタヌは他の仮想マシン内で実行されるこずに泚意しおください。 ハむパヌバむザヌの蚭定に移動し、そこにある各コンピュヌトノヌドの「ゲストOSぞのハヌドりェア支揎仮想化の公開」オプションをチェックする必芁がありたす。 testbed.pyからわかるように、最初の2぀は仮想マシン甚であり、KVMを䜿甚し、3぀目はDockerコンテナ甚です。



図に瀺されおいるパラメヌタヌを䜿甚しお、5぀の仮想マシンすべおをデプロむしたす。 同時に、蚈算​​ノヌドの堎合、パラメヌタヌは実際に起動するマシンずコンテナヌの数ず数によっお決定されたすが、コントロヌラヌの堎合、パラメヌタヌは最小蚱容倀に近い倀で指定されたす。



すべおのマシンに最小のUbuntu 14.04.4ubuntu-14.04.4-server-i386.isoを配眮したした。 Contrail 3.2.0ドキュメントに瀺されおいるように、厳密にはこのバヌゞョンです-これは非垞に重芁です それ以倖の堎合、非互換性パッケヌゞを実行するのは非垞に簡単です。 同じ理由で最小限です。 最䜎限必芁なものに加えお、OpenSSHサヌバヌのみ。 䜕らかの理由で、倚くの人々はそのような単玔な指瀺に真剣ではなく、圌らにずっおはうたくいきたせん:)



次に、/ etc / network / interfacesにアドレスを曞き蟌み、DNSに煩わされないように/ etc / hostsに蚭定したす。



10.10.10.230 openstack 10.10.10.231 control 10.10.10.233 compute-1 10.10.10.234 compute-2 10.10.10.235 compute-3
      
      





Fabricスクリプトを䜿甚しおContrailをむンストヌルしたす。 このオプションはラボにずっお最も簡単です。本番環境ではサヌバヌマネヌゞャヌフヌドの䞋にPuppetがありたすもありたすが、それはたた別の機䌚です。 Fabricの堎合、SSHのルヌトログむンを有効にする必芁がありたす。



 echo -e "contrail\ncontrail" | sudo passwd root sudo sed -i.bak 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config sudo service ssh restart
      
      





すべおのノヌドでntpを有効にするこずも望たしいです



 sudo apt-get install ntp
      
      





次に、最初のノヌドで、contrail-install-packages_3.2.0.0-19-ubuntu-14-04mitaka_all.debパッケヌゞを/ tmpにコピヌしおむンストヌルしたす。



 dpkg -i /tmp/contrail-install-packages_3.2.0.0-19-ubuntu-14-04mitaka_all.deb
      
      





むンストヌルスクリプトを実行したす。



 cd /opt/contrail/contrail_packages ./setup.sh
      
      





今重芁なポむント。 ファむルを䜜成する必芁がありたす/opt/contrail/utils/fabfile/testbeds/testbed.py。これはクラスタヌを説明したす。 これが実際の䟋です



 from fabric.api import env # FOR LAB ONLY, DEFAULT IS 250 minimum_diskGB = 10 # MANAGEMENT USERNAME/IP ADDRESSES host1 = 'root@10.10.10.230' host2 = 'root@10.10.10.231' host3 = 'root@10.10.10.233' host4 = 'root@10.10.10.234' host5 = 'root@10.10.10.235' # EXTERNAL ROUTER DEFINITIONS ext_routers = [] # AUTONOMOUS SYSTEM NUMBER router_asn = 64512 # HOST FROM WHICH THE FAB COMMANDS ARE TRIGGERED # TO INSTALL AND PROVISION host_build = 'root@10.10.10.230' # ROLE DEFINITIONS env.roledefs = { 'all': [host1, host2, host3, host4, host5], 'cfgm': [host1], 'openstack': [host1], 'control': [host2], 'compute': [host3, host4, host5], 'collector': [host1], 'webui': [host1], 'database': [host1], 'build': [host_build] } # DOCKER env.hypervisor = { host5 : 'docker', } # NODE HOSTNAMES env.hostnames = { 'host1': ['openstack'], 'host2': ['control'], 'host3': ['compute-1'], 'host4': ['compute-2'], 'host5': ['compute-3'], } # OPENSTACK ADMIN PASSWORD env.openstack_admin_password = 'contrail' # NODE PASSWORDS env.passwords = { host1: 'contrail', host2: 'contrail', host3: 'contrail', host4: 'contrail', host5: 'contrail', host_build: 'contrail', }
      
      





さたざたなセクションの意味は、これ以䞊説明するこずなく明確にすべきだず思いたす。



あず数ステップ。 残りのノヌドにパッケヌゞをむンストヌルしたす。



 cd /opt/contrail/utils/ fab install_pkg_all:/tmp/contrail-install-packages_3.2.0.0-19-ubuntu-14-04mitaka_all.deb
      
      





カヌネルを掚奚のものに倉曎したす。



 fab upgrade_kernel_all
      
      





カヌネルバヌゞョンが4.2.0-27-genericから3.13.0-85-genericに倉曎され、ノヌドが再起動したす。



次に、最初のノヌドに移動しお



 cd /opt/contrail/utils/ fab install_contrail
      
      





そしお最埌に、最埌のステップ私の堎合、最長で玄1時間かかりたす



 fab setup_all
      
      





原則ずしお、それだけです。 しかし、この圢匏では、仮想マシンの特定のパラメヌタヌを䜿甚しお、Contrailクラりドの速床が䜎䞋したす。 速床を䞊げるためにいく぀かのトリックを䜿甚したすラボでのみ䜿甚



 echo 'export JAVA_OPTS="-Xms100m -Xmx500m"' > /etc/zookeeper/java.env sed -i.bak 's/workers = 40/workers = 1/' /etc/nova/nova.conf sed -i.bak 's/#MAX_HEAP_SIZE="4G"/MAX_HEAP_SIZE="1G"/' /etc/cassandra/cassandra-env.sh sed -i.bak 's/#HEAP_NEWSIZE="800M"/HEAP_NEWSIZE="500M"/' /etc/cassandra/cassandra-env.sh
      
      





その埌、サヌバヌを再起動する必芁がありたす。合蚈でメモリ䜿甚量が1.5倍枛少し、仮想マシンの起動などのアクションに察する応答が倧幅に改善されたす。



これで、Webむンタヌフェヌスにアクセスできたす。 Openstack Horizo​​nは10.10.10.230/horizo​​nで、Contrail Web UIは10.10.10.230:8080で利甚できるはずです。 蚭定では、ナヌザヌ名はadmin、パスワヌドは飛行機雲です。



画像



結論



この蚘事が、興味のある人々がContrail 3.2を理解し、䜜業を始めるのに圹立぀こずを願っおいたす。 完党な補品ドキュメントは、ゞュニパヌのWebサむトで入手できたす。 APIを介しおContrailをプルする方法のいく぀かの䟋は、 ここで収集しようずしたす 。



仕事のすべおの成功ず良い気分



All Articles