Equatower: Difference between revisions

From Nasqueron Agora
No edit summary
 
Line 1: Line 1:
'''Equatower''' is an infrastructure server used to serve Docker containers. It's hosted on [[Dreadnought]] hypervisor.
'''Equatower''' was an infrastructure server used to serve Docker containers. It's hosted on [[Dreadnought]] hypervisor.


New services, provisionned by SaltStack through our rOPS repository, should be deployed to Equatower.
It has been superseded by docker-001. This page is valid for docker-001, with the only need to replace 51.255.124.10 by 51.255.124.9.
 
New services, provisioned by SaltStack through our rOPS repository, should be deployed to this docker-001 or to [[Operations grimoire/Kubernetes|Kubernetes cluster]].


== PaaS Docker ==
== PaaS Docker ==

Latest revision as of 12:32, 24 September 2020

Equatower was an infrastructure server used to serve Docker containers. It's hosted on Dreadnought hypervisor.

It has been superseded by docker-001. This page is valid for docker-001, with the only need to replace 51.255.124.10 by 51.255.124.9.

New services, provisioned by SaltStack through our rOPS repository, should be deployed to this docker-001 or to Kubernetes cluster.

PaaS Docker

Containers

Group Container Image Purpose
jenkins_cd jenkins jenkinsci/jenkins Jenkins master for CD
jenkins_cd apsile nasqueron/jenkins-slave-php Jenkins slave
jenkins_cd elapsi nasqueron/jenkins-slave-php Jenkins slave
openfire openfire gizmotronic/openfire XMPP server
phpbb phpbb_db nasqueron/mysql MySQL server for phpBB PaaS
phpbb phpbb_ook nasqueron/nginx-php7-fpm QA container for phpBB PaaS
phpbb phpbb_test nasqueron/nginx-php7-fpm dev container for phpBB PaaS

Ports

Port Service Purpose
3478 Openfire STUN / TURN
5222 Openfire C2S XMPP
5263 Openfire S2S XMPP
38080 Jenkins back-end web server

Administration tasks

Acquisitariat (MySQL server)

To connect to the MySQL server, you can run a temporary container linked to our production server.

   ssh -t dwellers.nasqueron.org mysql acquisitariat

If you need more control tweak this line:

   docker run -it --rm --link acquisitariat:mysql nasqueron/mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

If you need to work with SQL files, connect directly to the server:

   docker exec -it acquisitariat bash

Finally, some containers allow direct access. From a Phabricator container, for example, you can get a MySQL client with:

   /opt/phabricator/bin/storage shell

Troubleshoot

Let's Encrypt certificates renewal fail

Let's Encrypt resolves in IPv6 first, so if IPv6 is down, renewal will be slow and unsuccessful with timeout messages.

No network at boot time

Access the machine on the hypervisor, then:

Check the interface is up
   ip addr
   ifup ens192 # to bring it up

The interface to use is the one connected to the main network, with 00:50:56:0c:53:94 as MAC address. It normally should be defined at ens192.

If you've reset the configuration and need to add again the IP
   ip addr add 51.255.124.10/32 dev ens192
Routing is probably the issue
   ip route add 91.121.86.254 dev ens192
   ip route add default via 91.121.86.254
Same for the case we can ping/ssh (slowly) from Ysul but not from the world
   ip route change 91.121.86.254 dev ens192
   ip route change default via 91.121.86.254
Reconfigure the IPv6 tunnel

At some point, the Linux route2 method stopped to work, but the Linux net-tools method still work.

   ip tunnel del he-ipv6
   /sbin/ipv6-setup-tunnel

Could be broken, if so, use old ifconfig commands like in Dwellers.