Project

General

Profile

The ungleich VM console » History » Revision 5

Revision 4 (Jin-Guk Kwon, 03/03/2020 09:31 AM) → Revision 5/6 (Jin-Guk Kwon, 03/03/2020 09:43 AM)

h1. The ungleich VM console 

 {{toc}} 

 h2. 1. System Architecture 

 This service supports    accessing console of your VM through guacamole service. 
 And To log-in VM console web needs datacenterlight.ch account. User's accounts are syncronized with LDAP. 

 !vnc_arch.png! !archi.png! 

 h2. 2. Set guacamole server 

 - run cdist 

 <pre> 
 cd ~/.cdist; git pull; cdist config -bj7 -p9 -vv desktop.ungleich.ch 
 </pre> 

 - in manifest for centos 

 <pre> 
 …… 
 desktop.ungleich.ch) 
         __guacamole_centos    --ldap-hostname 'ldap server url' \ 
           --ldap-port '636' \ 
           --ldap-encryption-method 'ssl' \ 
           --ldap-user-base-dn 'ou=XXX,dc=ungleich,dc=ch' \ 
           --ldap-search-bind-password ‘refer to pass' \ 
           --ldap-search-bind-dn 'cn=XXXXX,dc=ungleich,dc=ch' \ 
           --ldap-username-attribute 'uid' \ 
           --postgresql-hostname 'localhost' \ 
           --postgresql-username 'USER name' \ 
           --postgresql-database 'DB-name' \ 
           --postgresql-port       'XXXX' \ 
           --postgresql-password 'password' \ 
           --TOTP \ 
           --guacd-db 'postgresql' 
 </pre> 

 - in manifest for alpine (only support postgresql) 

 <pre> 
 …… 
 desktop.ungleich.ch) 
         _ungleich_vnc_console    --ldap-hostname 'ldap server url' \ 
           --ldap-port '636' \ 
           --ldap-encryption-method 'ssl' \ 
           --ldap-user-base-dn 'ou=XXX,dc=ungleich,dc=ch' \ 
           --ldap-search-bind-password ‘refer to pass' \ 
           --ldap-search-bind-dn 'cn=XXXXX,dc=ungleich,dc=ch' \ 
           --ldap-username-attribute 'uid' \ 
           --postgresql-hostname 'localhost' \ 
           --postgresql-username 'USER name' \ 
           --postgresql-database 'DB-name' \ 
           --postgresql-port       'XXXX' \ 
           --postgresql-password 'password' \ 
           --TOTP \ 
           --guacd-db 'postgresql' 
 </pre> 

 h2. 3. Create VNC connection for VM  

 !cre_conn.png! 

 h3. 1) git clone ungleich-tool(vnc_console_connection, it has cloned by __ungleich_vnc_console cdist) 

 h3. 2) set vnc connection automatically on vnc_console server 

 h4. (1) vnc connection python 

 - ldap_list.py : get user list from ldap server 
 - db_export.py : update postgresql database with vnc connection info 
 - get_info.py : create vnc_connecion info 
 - config.py : config parameter 

 h4. (2) create crontab 

 <pre> 
 crontab -e 
 </pre> 

 <pre> 
 */5 * * * * python3 /opt/ungleich-tools/vnc_console_connection/get_info.py # __cron/console_connection 
 </pre> 

 h2. 4. Monitoring VNC console 

 - We are monitoring VNC console with prometheus. 
 - run cdist __dcl_monitoring_server(update prometheus.yml) 

 h2. %{color:blue}※User VM information is synchronized with the VM console every 5 minute. If you create VM right now, you can access VM console after 5 minutes.(vnc connection script takes about in 15 seconds.)%