4.3 Scale and Expose Applications to External Access Flashcards
Como se expone externamente un servicio api-frontend en el hostname api.apps.acme.com
oc expose service api-frontend \
–hostname api.apps.acme.com
Cual es la estructura por default de nombrado de DNS
<route-name>-<project-name>.<default-domain>
</default-domain></project-name></route-name>
Estructura de yaml Route
name: a-simple-route
labels
app: API
name: api-frontend
host: api.apps.acme.com
name: api-frontend
port: 8080
targetPort: 8443
kind: Route
apiVersion: route.openshift.io/v1
metadata:
name: a-simple-route
labels:
app: API
name: api-frontend
spec:
host: api.apps.acme.com
to:
kind: Service
name: api-frontend
port: 8080
targetPort: 8443
Como se elimina una ruta ejemplo myapp-route
oc delete route myapp-route
estructura yaml de un tipo ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: frontend
spec:
rules:
- host: “www.example.com
http:
paths:
- backend:
service:
name: frontend
port:
number: 80
pathType: Prefix
path: /
tls:
- hosts:
- www.example.com
secretName: example-com-tls-certificate
Como se crea un ingress con oc nombre ingr-sakila y regla ingr-sakila.apps.ocp4.example.com a puerto 8080
oc create ingress ingr-sakila \
–rule=”ingr-sakila.apps.ocp4.example.com/*=sakila-service:8080”
Como eliminar un recurso ingress example-ingress
oc delete ingress example-ingress
Como se configura cookie sticky session en ingress example-ingress
oc annotate ingress ingr-example \
ingress.kubernetes.io/affinity=cookie
Como se configura cookie sticky session
oc annotate route route-example \
router.openshift.io/cookie_name=myapp
Como se obtiene el host de la ruta route_name
oc get route <route_name> -o jsonpath='{.spec.host}'</route_name>
Como se escala a 5 replicas el deployment scale
oc scale –replicas 5 deployment/scale
Como se crea deployment de mysql
oc create deployment mysql-app –image registry.ocp4.example.com:8443/redhattraining/mysql-app:v1
Como se setean variables a un deployment cuando este las necesite:
MYSQL_USER redhat
MYSQL_PASSWORD redhat123
MYSQL_DATABASE world_x
oc set env deployment/mysql-app MYSQL_USER=redhat MYSQL_PASSWORD=redhat123 MYSQL_DATABASE=world_x
Como se carga una base de datos mysql de un contenedor mysql y con los datos en /tmp/world_x.sql
/bin/bash -c “mysql -uredhat -predhat123 </tmp/world_x.sql”
Como se expone un servicio de un deployment php-app name php-svc
puerto 8080
target port 8080
oc expose deployment php-app –name php-svc
–port 8080 –target-port 8080