Table of Contents
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).