En la imagen se muestra una región de Oracle Cloud Infrastructure (OCI) que contiene un repositorio de código GitHub, un único dominio de disponibilidad, una red virtual en la nube (VCN) y una subred pública y privada. El dominio de disponibilidad consta de tres dominios de errores: dominio de errores 1, dominio de errores 2 y dominio de errores 3. La VCN de la región y ambas subredes abarcan el dominio de disponibilidad y los tres dominios de errores. El acceso a la VCN desde la región se realiza a través de un gateway de Internet, un gateway de NAT o un gateway de servicios. Un registro de contenedor reside en el borde de la región y la VCN. El acceso a cada subred se controla mediante una tabla de enrutamiento y una lista de seguridad.

La subred A, la subred pública, contiene un único equilibrador de carga, que reside en el dominio de errores 2 y se comunica bidireccionalmente con el repositorio de código GitHub a través del gateway de Internet.

La subred B, la subred privada, contiene una instancia de Container Engine for Kubernetes (OKE), que a su vez contiene una instancia de Argo CD Server Service, un espacio de nombres de Argo y espacios de nombres para dos aplicaciones asociadas. También contiene cuatro seguros Argo, cada uno asociado a su propio pod de Kubernetes. Tres nodos de trabajador abarcan el espacio de nombres de Argo y el dominio de errores 1.

El equilibrador de carga dirige el tráfico entrante del repositorio de código GitHub a un servicio del servidor de CD de Argo. Las instancias de Argo se comunican bidireccionalmente con el gateway de NAT, aunque el tráfico fluye hacia el gateway de Internet y, a continuación, entre el repositorio de código GitHub y el equilibrador de carga. El tráfico también fluye bidireccionalmente entre las instancias de Argo y el gateway de servicio. El tráfico también fluye bidireccionalmente entre el gateway de servicio y los nodos de trabajador en el límite de OKE y el dominio de errores, y entre el gateway de servicio y Container Registry.