著者:長縄達也翻訳者:TF中国人コミュニティ
ここにあるリポジトリファイルのほとんどのドキュメントは有効です。
https://github.com/Juniper/contrail-dev-env--
yum -y install docker git
git clone https://github.com/Juniper/contrail-dev-env
cd contrail-dev-env
. /startup.sh
docker exec -it contrail-developer-sandbox bash
cd /root/contrail-dev-env
yum -y remove python-devel ##依存関係の問題を解決する必要がある
make sync
make fetch_packages
make setup
make dep
すべてのモジュールをビルドするには、このコマンドを使用できます(コンピューターのパフォーマンスにもよりますが、1〜2時間かかります)。
make rpm
make containers
より具体的なモジュールを作成するには、これらのコマンドを使用することもできます。注意すべき点の1つは、rpm-contrail自体が大きなデータパケットであり、それ以上に分割できないことです(コントローラー、vrouterなどが含まれます)。
make list
make rpm-contrail
make list-containers
make container-general-base
make container-base
make container-kubernetes_kube-manager
- those make targets are included fromthis file:/root/contrail/tools/packages/Makefile
https://github.com/Juniper/contrail-packages/blob/master/Makefile
このコマンドは、vrouter.koのみをビルドする場合に役立ちます。
build:
cd /root/contrail
scons --opt=production --kernel-dir=/lib/modules/3.10.0-1062.el7.x86_64/build build-kmodule
clean:
cd /root/contrail/vrouter
make KERNELDIR=/lib/modules/3.10.0-1062.el7.x86_64/build clean
注:他のディストリビューションのkernel-develパッケージ(centos8とamazonlinux 2のパッケージを試しました)がインストールされている場合は、kernel-dirとして指定することもできます。
たとえば、このコマンドは、centos8.2のvrouter.koを作成します。
# rpm -ivh --nodeps kernel-devel-4.18.0-147.8.1.el8_1.x86_64.rpm
# scons --opt=production --kernel-dir=/usr/src/kernels/4.18.0-147.8.1.el8_1.x86_64/ build-kmodule
TungstenFabricはjujuチャームを介してインストールすることもできます。
# apt update
# snap install --classic juju
# juju add-cloud
Select cloud type: manual
Enter a name for your manual cloud: manual-cloud-1
Enter the controller's hostname or IP address: (juju node's ip)
# ssh-keygen
# cd .ssh
# cat id_rsa.pub >> authorized_keys
# cd
# ssh-copy-id(other nodes' ip)
# juju bootstrap manual-cloud-1
# git clone https://github.com/Juniper/contrail-charms -b R5
# juju add-machine ssh:root@(openstack-controller ip)
# juju add-machine ssh:root@(openstack-compute ip)
# juju add-machine ssh:root@(TungstenFabric-controller ip)
# vi set-juju.sh
juju deploy ntp
juju deploy rabbitmq-server --to lxd:0
juju deploy percona-cluster mysql --config root-password=contrail123 --config max-connections=1500--to lxd:0
juju deploy openstack-dashboard --to lxd:0
juju deploy nova-cloud-controller --config console-access-protocol=novnc --config network-manager=Neutron --to lxd:0
juju deploy neutron-api --config manage-neutron-plugin-legacy-mode=false--config neutron-security-groups=true--to lxd:0
juju deploy glance --to lxd:0
juju deploy keystone --config admin-password=contrail123 --config admin-role=admin --to lxd:0
juju deploy nova-compute --config ./nova-compute-config.yaml --to 1
CHARMS_DIRECTORY=/root
juju deploy $CHARMS_DIRECTORY/contrail-charms/contrail-keystone-auth --to 2
juju deploy $CHARMS_DIRECTORY/contrail-charms/contrail-controller --config auth-mode=rbac --config cassandra-minimum-diskgb=4--config cassandra-jvm-extra-opts="-Xms1g -Xmx2g"--to 2
juju deploy $CHARMS_DIRECTORY/contrail-charms/contrail-analyticsdb --config cassandra-minimum-diskgb=4--config cassandra-jvm-extra-opts="-Xms1g -Xmx2g"--to 2
juju deploy $CHARMS_DIRECTORY/contrail-charms/contrail-analytics --to 2
juju deploy $CHARMS_DIRECTORY/contrail-charms/contrail-openstack
juju deploy $CHARMS_DIRECTORY/contrail-charms/contrail-agent
juju expose openstack-dashboard
juju expose nova-cloud-controller
juju expose neutron-api
juju expose glance
juju expose keystone
juju expose contrail-controller
juju expose contrail-analytics
juju add-relation keystone:shared-db mysql:shared-db
juju add-relation glance:shared-db mysql:shared-db
juju add-relation keystone:identity-service glance:identity-service
juju add-relation nova-cloud-controller:image-service glance:image-service
juju add-relation nova-cloud-controller:identity-service keystone:identity-service
juju add-relation nova-cloud-controller:cloud-compute nova-compute:cloud-compute
juju add-relation nova-compute:image-service glance:image-service
juju add-relation nova-compute:amqp rabbitmq-server:amqp
juju add-relation nova-cloud-controller:shared-db mysql:shared-db
juju add-relation nova-cloud-controller:amqp rabbitmq-server:amqp
juju add-relation openstack-dashboard:identity-service keystone
juju add-relation neutron-api:shared-db mysql:shared-db
juju add-relation neutron-api:neutron-api nova-cloud-controller:neutron-api
juju add-relation neutron-api:identity-service keystone:identity-service
juju add-relation neutron-api:amqp rabbitmq-server:amqp
juju add-relation contrail-controller ntp
juju add-relation nova-compute:juju-info ntp:juju-info
juju add-relation contrail-controller contrail-keystone-auth
juju add-relation contrail-keystone-auth keystone
juju add-relation contrail-controller contrail-analytics
juju add-relation contrail-controller contrail-analyticsdb
juju add-relation contrail-analytics contrail-analyticsdb
juju add-relation contrail-openstack neutron-api
juju add-relation contrail-openstack nova-compute
juju add-relation contrail-openstack contrail-controller
juju add-relation contrail-agent:juju-info nova-compute:juju-info
juju add-relation contrail-agent contrail-controller
# vi nova-compute-config.yaml
nova-compute:
virt-type: qemu
enable-resize: True
enable-live-migration: True
migration-auth-type: ssh
# bash set-juju.sh(to check status, it takes 20 minutes for every application to be active)
# juju status
# tail -f /var/log/juju/*log | grep -v -w DEBUG
正常に実行するために、注意すべき2つのポイントがあります。
juju ssh 0
sudo su -
lxc list
lxc config set juju-cb8047-0-lxd-4 security.nesting true
lxc config show juju-cb8047-0-lxd-4
lxc restart juju-cb8047-0-lxd-4
**ゲートウェイレスとsnat **
パブリッククラウドにインストールする場合、MPLS over IPまたはVXLANをサポートする利用可能なハードウェアがないため、vRouterにはアンダーレイIPからのフローティングIPが必要です。
とはいえ、Tungsten Fabricはゲートウェイレス機能をサポートしているため、この仮想ネットワークからフローティングIPにサービスを提供することはそれほど難しくありません(別のIPをENIに接続し、それをフローティングIPのソースにする方法です。 vRouter上のサービスへの外部アクセス)
注:kubernetesを使用する場合、私は個人的にサービスネットワークをゲートウェイレスに設定することを好みます(この設定は外部IPを使用しません)。ベアメタルインスタンスを備えたハイパーバイザーを使用する場合は、ゲートウェイレスサブネットを備えたフローティングIPが推奨されます。
vRouterから外部ネットワークまで、分散SNAT機能で問題を解決できます。
**AZ高可用性WIP **
さらに、vRouterで2つの別々の[Load Balancing](https://cloud.tencent.com/product/clb?from=10680)デバイスを定義して同じアプリケーションにアクセスできるため、2つの異なるアベイラビリティーゾーンからアクセスできるため、より高いアベイラビリティが保証されます。
この設定を行うには、いくつかの設定が必要です。
vRouterのゲートウェイレス機能の制限の1つは、宛先vRouterとパケットを最初に受信したvRouterが同じL2サブネットに配置されている場合にのみ、パケットを他のvRouterに転送できることです。
AWSサブネットに同じサブネットを含めることはできないため、このセットアップAZを高可用性にするには、同じアプリケーションに対して2つのロードバランサーを構成する必要があります。各AZには2つの異なるゲートウェイレスサブネットがあります。
ELBはデータパケットを2つのvRouterロードバランサーに転送できるため、ELBを使用してAZの高可用性を実現できます。
vRouter CNI AWS EKSは、もう1つの可能な統合ソリューションです。
( laptop)
# kubectl delete ds -n kube-system aws-node(EKS worker node)
# mv -i /etc/cni/net.d/10-aws.conflist /tmp/
次に、以下のURLと同じ手順を使用して、vRouterCNIをインストールできます。
vRouterがパブリッククラウドインスタンスにインストールされている場合、いくつかのMTUの問題が発生する可能性があることに注意してください。
物理インターフェイスのMTUを変更すると、ほとんどの問題を解決できますが、コンテナからのデータパケットが断片化されている場合は、CNIのMTU設定を変更する必要がある場合があります。
vi /etc/cni/net.d/10-contrail.conf
{" cniVersion":"0.3.1","contrail":{"meta-plugin":"$KUBERNETES_CNI_META_PLUGIN","vrouter-ip":"127.0.0.1","vrouter-port": $VROUTER_PORT,"config-dir":"/var/lib/contrail/ports/vm","poll-timeout":5,"poll-retries":15,+"mtu":1300,"log-file":"$LOG_DIR/cni/opencontrail.log","log-level":"4"},"name":"contrail-k8s-cni","type":"contrail-k8s-cni"}
https://github.com/Juniper/contrail-controller/blob/master/src/container/cni/contrail/cni.go#L33
元のリンク:
https://github.com/tnaganawa/tungstenfabric-docs/blob/master/TungstenFabricKnowledgeBase.md
[ Tungsten Fabricナレッジベース丨vRouter内部操作の調査](https://tungstenfabric.org.cn/topic/104/tungsten-fabric%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B8 %A8vrouter%E5%86%85%E9%83%A8%E8%BF%90%E8%A1%8C%E6%8E%A2%E7%A7%98)[タングステンファブリックナレッジベース丨内部コンポーネントの詳細](https://mp.weixin.qq.com/s?__biz=MzI3ODczMjY5MA==&mid=2247486044&idx=1&sn=8b2e4a590034c6d852a89fcbd5d14565&chksm=eb53c0a1dc2449b736b70ebade80f629475cdf8071c5b2411ab7aabcbee15fa1399c9f8eeae1&token=1540863968&lang=zh_CN#rd)
TungstenFabric入門コレクションシリーズの記事-
1.[ 最初の起動および操作ガイド](https://tungstenfabric.org.cn/topic/54/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8%E4 %B8%A8%E9%A6%96%E6%AC%A1%E5%90%AF%E5%8A%A8%E5%92%8C%E8%BF%90%E8%A1%8C%E6%8C %87%E5%8D%97)
2.[ TFコンポーネントの7つの「武器」](https://tungstenfabric.org.cn/topic/56/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85% B8%E4%B8%A8tf%E7%BB%84%E4%BB%B6%E7%9A%84%E4%B8%83%E7%A7%8D-%E6%AD%A6%E5%99%A8 )
3.[ オーケストレーターの統合](https://tungstenfabric.org.cn/topic/60/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8%E4%B8 %A8%E7%BC%96%E6%8E%92%E5%99%A8%E9%9B%86%E6%88%90)
4.[ インストールに関するもの(オン)](https://tungstenfabric.org.cn/topic/63/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85% B8%E4%B8%A8%E5%85%B3%E4%BA%8E%E5%AE%89%E8%A3%85%E7%9A%84%E9%82%A3%E4%BA%9B% E4%BA%8B-%E4%B8%8A)
5.[ インストールに関するもの(下記)](https://tungstenfabric.org.cn/topic/65/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85% B8%E4%B8%A8%E5%85%B3%E4%BA%8E%E5%AE%89%E8%A3%85%E7%9A%84%E9%82%A3%E4%BA%9B% E4%BA%8B-%E4%B8%8B)
6.[ 主流の監視システムツールの統合](https://tungstenfabric.org.cn/topic/69/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8% E4%B8%A8%E4%B8%BB%E6%B5%81%E7%9B%91%E6%8E%A7%E7%B3%BB%E7%BB%9F%E5%B7%A5%E5% 85%B7%E7%9A%84%E9%9B%86%E6%88%90)
7.[ 翌日の作業を開始します](https://tungstenfabric.org.cn/topic/71/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8% E4%B8%A8%E5%BC%80%E5%A7%8B%E7%AC%AC%E4%BA%8C%E5%A4%A9%E7%9A%84%E5%B7%A5%E4% BD%9C)
8.[8 一般的な障害とトラブルシューティングのヒント](https://tungstenfabric.org.cn/topic/111/%E9%93%BE%E6%8E%A5%E5%9C%B0%E5%9D%80)
9.[ クラスターの更新について)(https://mp.weixin.qq.com/s?__biz=MzI3ODczMjY5MA==&mid=2247484945&idx=1&sn=590839212fb13b77c193f7491bc472b2&chksm=eb53ccecdc2445fa7cfbf77c1430373zhf1445380c6
10.[ L3VPNとEVPNの統合について話す](https://tungstenfabric.org.cn/topic/77/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8% E4%B8%A8%E8%AF%B4%E8%AF%B4l3vpn%E5%8F%8Aevpn%E9%9B%86%E6%88%90)
11.[ サービスチェーン、BGPaaSなどについて](https://tungstenfabric.org.cn/topic/80/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8 %E4%B8%A8%E5%85%B3%E4%BA%8E%E6%9C%8D%E5%8A%A1%E9%93%BE-bgpaas%E5%8F%8A%E5%85%B6 %E5%AE%83)
12.[ マルチクラスターおよびマルチデータセンターについて](https://tungstenfabric.org.cn/topic/81/tungsten-fabric%E5%85%A5%E9%97%A8%E5%AE%9D%E5%85%B8 %E4%B8%A8%E5%85%B3%E4%BA%8E%E5%A4%9A%E9%9B%86%E7%BE%A4%E5%92%8C%E5%A4%9A%E6 %95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83)
13.[ マルチオーケストレーターの使用法と構成](https://mp.weixin.qq.com/s?__biz=MzI3ODczMjY5MA==&mid=2247485215&idx=1&sn=32aa9d3ce1e8c3400934f1a9fb6788fc&chksm=eb53cde2dc2444f411b2de46
Recommended Posts