5. 1 Networking For Applications Flashcards
(33 cards)
Que significa SDN
Openshift Software-defined networking
Cuales son los 5 requerimientos que satisface el SDN
Manejar tráfico de red programática mente
Manejar comunicación entre contenedores del mismo proyecto
Manejar comunicación entre pods del mismo u otro proyecto
Manejar comunicación se un pod a un servicio
Manejar comunicación entre una red externa a servicio o de contenedores a redes externas
Que es CNI
Container network interface
Como se crea un recurso desde un archivo todo.yaml
oc create -f todo.yaml
Como se copia un archivo llamado test.txt dentro del pod mypod a la ruta /tmp
oc cp test.txt mypod:/tmp
Como nos firmamos por ssh al pod mysql-73 con bash mysql-73-bdhfo1h-hhdj
oc rsh mysql-73-bdhfo1h-hhdj /bin/bash
Como se expone el servicio de la app frontend en el hostname todo.apps.ocp4.example.com
oc expose service/frontend –hostname todo.apps.ocp4.example.com
Como se validan los servicios expuestos
oc get routes
Como se ven los logs del pod frontend para corregir el problema de red
oc logs PODNAME
Como obtener ip de cluster del servicio frontend usando jsonpath
oc get service/frontend -o jsonpath=“{.spec.clusterIP}{‘\n’}”
Como se hace crea una imagen de debug del deployment MySQL imagen registry.access.redhat.com/ubi8/ubi:8.0
oc debug -t deployment/mysql –image registry.access.redhat.com/ubi8/ubi:8.0
Como se hace la validación de aplicación por curl al puerto 8080
curl -m 10 -v http://clusterIP:8080
Como nos conectamos a un pod por su ip privada
oc get pods -o wide -l name=frontend
debug pod -t deployment/ MySQL –image registry example
Como se obtienen los servicios
oc get svc
Como podemos ver la información del servicio frontend
oc describe svc/frontend
Como se ve la información de Labels y una linea posterior de despliegue
oc describe deployment/frontend | grep Labels -A1
Como se edita un servicio
oc edit svc/frontend
Como se modifica el selector name de un servicio
oc edit svc/frontend
Proceso completo para troubleshooting de red
- Crear deployments frontend/mysql y servicios
- Obtener logs de pod de app
- Obtener ip de mysql, debug a pod frontend, curl a mysql service
- Obtener ip de frontend, debug a pod mysql, curl a frontend
- Obtener ip interna de frontend, debug a pod mysql, curl a ipinterna y puerto interno.
- Describir servicio de frontend para mostrar el selector, endpoints
- Editar servicio frontend y cambiar selector por el correcto
- Prueba de url de servicio frontend
Estructura de servicio en yaml
kind: service
apiVersion: v1
metadata:
name: application-frontend
labels:
app: frontend-svc
spec:
ports:
- name: HTTP
protocol: TCP
port: 443
targetPort: 8443
selector:
app: shopping-cart
name: frontend
type:ClusterIP
Como se muestra el operador de dns
oc describe DNS.operator/default
Cuales son los servicios que DNS resuelve
A para servicios SRV port
Como obtener el cluster domain e ip
oc describe dns.operator/default
Status:
Cluster Domain: cluster.local
Cluster IP: 172.30.0.10
Como te puedes firmar al pod por ssh example-6c4984d949-7m26r
oc rsh example-6c4984d949-7m26r \
> curl hello.test.svc.cluster.local:8080