analytics_database 無しでのインストール

直近の tungsten fabric では、以下の spec に従い、analytics 関連の各コンポーネント無しでのインストールが可能となっている。
https://github.com/Juniper/contrail-analytics/blob/master/specs/analytics_optional_components.md

今回は analytics のみでのインストールを行ってみている。

環境は AWS上のCentOS7.5 AMI (ami-3185744e) を t2.medium (vCPU x2, mem 4GB) で 2台起動し、 / に disk 8GB を割り当てている。

インストールの手順は以下に従い、
http://aaabbb-200904.hatenablog.jp/entry/2018/04/28/215922

instance.yaml としては、以下を使用した。

[root@ip-172-31-12-85 contrail-ansible-deployer]# cat config/instances.yaml
provider_config:
  bms:
   ssh_user: root
   ssh_public_key: /root/.ssh/id_rsa.pub
   ssh_private_key: /root/.ssh/id_rsa
   domainsuffix: local
   ntpserver: ntp.nict.jp
instances:
  bms1:
   provider: bms
   roles:
      config_database:
      config:
      control:
      analytics:
      webui:
      k8s_master:
      kubemanager:
   ip: 172.31.12.85
  bms2:
   provider: bms
   roles:
     vrouter:
     k8s_node:
   ip: 172.31.2.9
contrail_configuration:
  CONTAINER_REGISTRY: opencontrailnightly
  CONTRAIL_VERSION: latest
  KUBERNETES_CLUSTER_PROJECT: {}
  JVM_EXTRA_OPTS: "-Xms128m -Xmx1g"
global_configuration:
[root@ip-172-31-12-85 contrail-ansible-deployer]#

※ configure_instances.yaml のコマンドが少し変わっているので注意

ansible-playbook -e orchestrator=kubernetes -i inventory/ playbooks/configure_instances.yml
※ 10分ほどかかる
ansible-playbook -e orchestrator=kubernetes -i inventory/ playbooks/install_k8s.yml
※ 5分ほどかかる
ansible-playbook -e orchestrator=kubernetes -i inventory/ playbooks/install_contrail.yml
※ 20分ほどかかる

インストールが完了した後、controller の memory を確認してみたところ、1.9GB 程度の使用量におさまっていた。
今まで memory 不足で tungsten fabric がインストール出来なかった環境でも、試してみることが出来るのではなかろうか。

free -h:
[root@ip-172-31-12-85 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.9G        470M         17M        1.3G        1.3G
Swap:            0B          0B          0B
[root@ip-172-31-12-85 ~]# 

[root@ip-172-31-2-9 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        532M        2.4G         16M        750M        2.9G
Swap:            0B          0B          0B
[root@ip-172-31-2-9 ~]#


contrail-status:
[root@ip-172-31-12-85 ~]# contrail-status 
Pod              Service         Original Name                          State    Id            Status        
                 redis           contrail-external-redis                running  44398f4345c5  Up 7 minutes  
analytics        api             contrail-analytics-api                 running  f507d25e2e3b  Up 4 minutes  
analytics        collector       contrail-analytics-collector           running  743fd12abac1  Up 4 minutes  
analytics        nodemgr         contrail-nodemgr                       running  66bae291cf04  Up 4 minutes  
config           api             contrail-controller-config-api         running  c92962e7e533  Up 5 minutes  
config           device-manager  contrail-controller-config-devicemgr   running  ae0a0282086a  Up 5 minutes  
config           nodemgr         contrail-nodemgr                       running  549aa0a93751  Up 5 minutes  
config           schema          contrail-controller-config-schema      running  c988dbcb9b4a  Up 5 minutes  
config           svc-monitor     contrail-controller-config-svcmonitor  running  ec7cf57e4bd2  Up 5 minutes  
config-database  cassandra       contrail-external-cassandra            running  d771c85d5e50  Up 6 minutes  
config-database  nodemgr         contrail-nodemgr                       running  6e50281203fc  Up 6 minutes  
config-database  rabbitmq        contrail-external-rabbitmq             running  f5e7f99be03d  Up 6 minutes  
config-database  zookeeper       contrail-external-zookeeper            running  0b996607586b  Up 6 minutes  
control          control         contrail-controller-control-control    running  4269d4ca1ac7  Up 4 minutes  
control          dns             contrail-controller-control-dns        running  b5ba2ad81120  Up 4 minutes  
control          named           contrail-controller-control-named      running  35538b126133  Up 4 minutes  
control          nodemgr         contrail-nodemgr                       running  9242c85d41f3  Up 4 minutes  
device-manager   dnsmasq         contrail-external-dnsmasq              running  be46fd7c4095  Up 5 minutes  
kubernetes       kube-manager    contrail-kubernetes-kube-manager       running  bf9f42f1f502  Up 3 minutes  
webui            job             contrail-controller-webui-job          running  96fb6a5fb728  Up 5 minutes  
webui            web             contrail-controller-webui-web          running  a995118b17ae  Up 5 minutes  

== Contrail control ==
control: active
nodemgr: active
named: active
dns: active

== Contrail config-database ==
nodemgr: initializing (Disk for DB is too low. )
zookeeper: active
rabbitmq: active
cassandra: active

== Contrail kubernetes ==
kube-manager: active

== Contrail analytics ==
nodemgr: active
api: active
collector: active

== Contrail webui ==
web: active
job: active

== Contrail device-manager ==

== Contrail config ==
svc-monitor: active
nodemgr: active
device-manager: active
api: active
schema: active

[root@ip-172-31-12-85 ~]# 

[root@ip-172-31-2-9 ~]# contrail-status 
Pod      Service  Original Name           State    Id            Status        
vrouter  agent    contrail-vrouter-agent  running  5a37fe17859d  Up 2 minutes  
vrouter  nodemgr  contrail-nodemgr        running  dfea2a8b4ad0  Up 2 minutes  

vrouter kernel module is PRESENT
== Contrail vrouter ==
nodemgr: active
agent: active

[root@ip-172-31-2-9 ~]# 


nodetool -p 7201 info:
root@ip-172-31-12-85:/# nodetool -p 7201 info | grep -i heap
Heap Memory (MB)       : 54.32 / 1004.00
Off Heap Memory (MB)   : 0.00
root@ip-172-31-12-85:/#


df -h:
[root@ip-172-31-12-85 ~]# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      8.0G  6.0G  2.1G  75% /
[root@ip-172-31-12-85 ~]#

[root@ip-172-31-2-9 ~]# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      8.0G  3.1G  5.0G  39% /
[root@ip-172-31-2-9 ~]#


Monitor > Dashboard
※ alarm 等の機能は無効化されている, webui の Query タブ, contrail-flows, contrail-logs 等は query-engine / analyticsdb cassandra を使うため、使用できなくなっている
f:id:aaabbb_200904:20190210222211p:plain

Config: 引き続き使用可能
f:id:aaabbb_200904:20190210222252p:plain

UVE: 引き続き使用可能
f:id:aaabbb_200904:20190210222323p:plain