====== OCI ====== Documento aquí los distintos elementos que cree bajo el programa "Always free" ====== Instances ====== Se pueden repartir, siempre que sean instancias AMD: * Máximo de 4 VMs * Máximo de 4 cores de CPU * Máximo de 24 GB de RAM 1. Login en OCI https://idcs-5f67c625dc9a434bbf9fa6c5f9264ad8.identity.oraclecloud.com/ui/v1/signin 2. Teclear "instances" en la barra de búsqueda y hacer click en el resultado ofrecido https://cloud.oracle.com/compute/instances?region=eu-frankfurt-1 3. Click botón "CREATE INSTANCE" Name: k8s1 TODO: completar Las IPs públicas se han cambiado ^ Name ^ State ^ Public IP ^ Private IP ^ Shape ^ OCPU count ^ Memory (GB) ^ Availability domain ^ Fault domain ^ Created ^ | k8s1 | Running | 1.2.3.4 | 10.0.0.2 | VM.Standard.A1.Flex | 2 | 8 | AD-1 | FD-3 | Fri, Jun 24, 2022, 19:00:03 UTC | | k8s2 | Running | 1.2.3.5 | 10.0.0.3 | VM.Standard.A1.Flex | 1 | 8 | AD-1 | FD-3 | Fri, Jun 24, 2022, 19:00:03 UTC | | k8s3 | Running | 1.2.3.6 | 10.0.0.4 | VM.Standard.A1.Flex | 1 | 8 | AD-1 | FD-3 | Fri, Jun 24, 2022, 19:00:03 UTC | Cada una tiene un boot volume de 65 GB (sin disco adicional de datos), para estar lo más cerca posible del límite de 200 GB. A diferencia del load balancer, una vez terminado el período de pruebas, se pueden destruir y crear VMs, lo cual mola. ====== VNC ====== Se creó una VNC siguiendo el asistente. ^ Name ^ State ^ IPv4 CIDR Block ^ IPv6 Prefix ^ Default Route Table ^ DNS domain name ^ Created ^ | vnc | Available | 10.0.0.0/16 | - | Default Route Table for vnc | vnc.oraclevcn.com | Sun, Jun 12, 2022, 17:19:04 UTC | **Route Rules** Entiendo que creada por defecto, pero la documento por si Ascaso ^ Destination ^ Target Type ^ Target ^ Route Type ^ Description ^ | 0.0.0.0 | Internet Gateway | Internet Gateway-vnc | Static | | ====== Load balancer ====== **OJO**: una vez pasa el período de prueba gratix NO se pueden modificar, por lo que es MUY arriesgado confiar en este servicio. Por ejemplo si el puerto del ingress controller cambia del 32386 no se pueden añadir/eliminar backends al backend set Oracle cloud ofrece por la patilla y para siempre un balanceador de capa 4 con IP pública y estática. Resumen de máquinas, nombres, IPs, etc. (las IPs públicas están cambiadas) ^ DNS ^ IP pública ^ IP privada ^ Comentario ^ | k8s.example.com | 1.2.3.4 | 10.0.0.194 | Balanceador de carga. Escucha (listener) puerto 6443 | | k8s1 | 1.2.3.5 | 10.0.0.2 | Primer control plane | | k8s2 | 1.2.3.6 | 10.0.0.3 | Segundo control plane | | k8s3 | 1.2.3.7 | 10.0.0.4 | Tercer control plane | A continuación documento los distintos listeners que configuré para kubernetes La IP pública se ha cambiado ^ Name ^ Type ^ State ^ IP Address ^ Shape ^ Overall Health ^ Created ^ | load-balancer | Network Load Balancer | Active | 1.1.1.1 (Public) 10.0.0.194 (Private) | - | OK | Fri, Jun 17, 2022, 08:28:57 UTC | ===== listener-kube-apiserver ===== **Listener** ^ Name ^ IP Protocol Version ^ Protocol ^ Port ^ Backend Set ^ | listener-kube-apiserver | IPv4 | TCP | Specify the port, 6443 | backend-set-kube-apiserver | **Backend set** ^ Name ^ IP Protocol Version ^ Load Balancing Policy ^ Number of Backends ^ Health ^ | backend-set-kube-apiserver | IPv4 | 5-Tuple Hash | 3 | OK | **Backends** ^ Name ^ IP address ^ Availability Domain ^ Port ^ Weight ^ Drain ^ Offline ^ Health ^ | k8s1 | 10.0.0.2 | 6443 | 100 | False | False | OK | | k8s2 | 10.0.0.3 | 6443 | 99 | False | False | OK | | k8s3 | 10.0.0.4 | 6443 | 99 | False | False | OK | ===== listener-ingress-nginx-controller-http ===== **Listener** ^ Name ^ IP Protocol Version ^ Protocol ^ Port ^ Backend Set ^ | listener-ingress-nginx-controller-http | IPv4 | TCP | Specify the port, 80 | backend-set-ingress-nginx-controller-http | **Backend set** ^ Name ^ IP Protocol Version ^ Load Balancing Policy ^ Number of Backends ^ Health ^ | backend-set-ingress-nginx-controller-http | IPv4 | 5-Tuple Hash | 3 | OK | **Backends** ^ Name ^ IP address ^ Availability Domain ^ Port ^ Weight ^ Drain ^ Offline ^ Health ^ | k8s1 | 10.0.0.3 | 32386 | 100 | False | False | OK | | k8s2 | 10.0.0.4 | 32386 | 99 | False | False | OK | | k8s3 | 10.0.0.5 | 32386 | 99 | False | False | OK | ===== listener-ingress-nginx-controller-https ===== **Listener** ^ Name ^ IP Protocol Version ^ Protocol ^ Port ^ Backend Set ^ | listener-ingress-nginx-controller-https | IPv4 | TCP | Specify the port, 443 | backend-set-ingress-nginx-controller-https | **Backend set** ^ Name ^ IP Protocol Version ^ Load Balancing Policy ^ Number of Backends ^ Health ^ | backend-set-ingress-nginx-controller-https | IPv4 | 5-Tuple Hash | 3 | OK | **Backends** ^ Name ^ IP address ^ Availability Domain ^ Port ^ Weight ^ Drain ^ Offline ^ Health ^ | k8s1 | 10.0.0.3 | 31342 | 100 | False | False | OK | | k8s2 | 10.0.0.4 | 31342 | 99 | False | False | OK | | k8s3 | 10.0.0.5 | 31342 | 99 | False | False | OK | ====== Security list ====== Se creó una VNC siguiendo el asistente. El load balancer usa la subnet pública, "Public Subnet-vnc". Esta tiene una security list, que hay que retocar para que: * No permita conexiones desde la DMZ al listener kube-apiserver * Permita que lleguen los health check del load balancer a los nodos Las IPs púbicas son inventadas ^ Stateless ^ Source ^ IP Protocol ^ Source Port Range ^ Destination Port Range ^ Description ^ | No | 0.0.0.0/0 | TCP | All | 31342 | nginx-ingress-controller-https | | No | 0.0.0.0/0 | TCP | All | 32386 | nginx-ingress-controller-http | | No | 0.0.0.0/0 | TCP | All | 443 | listener-https | | No | 0.0.0.0/0 | TCP | All | 80 | listener-http | | No | 1.2.3.5/32 | All | All | All | k8s1 | | No | 1.2.3.6/32 | All | All | All | k8s2 | | No | 1.2.3.7/32 | All | All | All | k8s3 | Seguramente se puede restringir una miaja, pero así funciona. Como se juega también con los listeners no es tab abierta como parece. Por ejemplo desde la DMZ NO se llega al puerto 31342 (porque no hay listener publicado).