Contenedores Y Openshift Flashcards

1
Q

Para que es el servicio de kubernetes

A

Container orcheststion and management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Para que es el servicio etcd

A

Cluster state and config

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Para que es el servicio CRDs

A

Kubernetes operators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Para que es el contenedor CRI-O

A

Container runtime

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que sistema operativo corre Openshift

A

Red hat coreOS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cuales son las capas de openshift container platform

A
DevOps Tools and User Experience 
Containerized Services.|Runtimes and xPaaS
Kubernetes|etcd|CRDs
CRI-O
Redhat coreOS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

En qué consiste cada capa de openshift

DevOps Tools and User Experience 
Containerized Services.|Runtimes and xPaaS
Kubernetes|etcd|CRDs
CRI-O
Redhat coreOS
A

Web consolé,CLI,Rest,API,SCM Integration

Auth, networking, Image registry
Java,Ruby,Node.js and more

Container orchestation and Management
Cluster state and configs
Kubernetes operators

Container runtime

Container optimized OS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cuales son las capas de openshift

A

Routing layer
Openshift
Service layer
Certified hardware/cloud provider

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cual es el flujo de un desarrollador y operador para desplegar

A

Developer
SCM(git/svn)—>MASTER node
CI/CD—>MASTER node

Operations
Existing automation toolsets—>MASTER note

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cuales son los 6 tipos de recursos de kubernetes

A
Pods (po)
Servicios (svc)
Controladores de réplicacion (rc)
Volúmenes persistentes (pv)
Reclamaciones de volumen persistente (pvc)
Config maps (cm) y secrets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cuales son los tipos de recursos en openshift

A

Configuración de implementación (dc)
Configuración de compilación (bc)
Rutas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como se obtienen los tipos de recursos de openshift

A

oc api-resources o kubectl api-resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cuales son los dos tipos de redes en kubernetes

A

SDN( software defined Network) y enrutwdores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Como se puede acceder a un puerto del contenedor por SDN

A

Especificando El atributo NodePort

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cual es la sintaxis de un recurso pod yaml

A
apiVersion: v1
kind: Pod1
metadata:
  name: wildfly2
  labels:
    name: wildfly3
spec:
  containers:
    - resources:
        limits :
          cpu: 0.5
      image: do276/todojee
      name: wildfly
      ports:
        - containerPort: 80804
          name: wildfly
      env:5
        - name: MYSQL_ENV_MYSQL_DATABASE
          value: items
        - name: MYSQL_ENV_MYSQL_USER
          value: user1
        - name: MYSQL_ENV_MYSQL_PASSWORD
          value: mypa55
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cual es la estructura de un servicio en yaml

A
{
    "kind": "Service", 1
    "apiVersion": "v1",
    "metadata": {
        "name": "quotedb" 2
    },
    "spec": {
        "ports": [ 3
            {
                "port": 3306,
                "targetPort": 3306
            }
        ],
        "selector": {
            "name": "mysqldb" 4
        }
    }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Como se modifica el puerto de los servicios

A

oc edit svc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Como se hace forward de un puerto con oc

A

oc port-forward mysql-openshift-1-glqrp 3306:3306

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Como se crea una aplicación a partir de un repo git

A

oc new-app https://github.com/openshift/ruby-hello-world –name=ruby-hello –as-deployment-config

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Como se crea una aplicación a apartar de un repositorio Docker

A

oc new-app –docker-image=myregistry.com/mycompany/myapp –name=myapp –as-deployment-config

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Como se obtiene la descripción de los componentes más importantes del cluster en openshift

A

oc get all

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Como se exporta un recurso en yaml

A

oc get RESOURCE_TYPE RESOURCE_NAME -o yaml

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Como se crea un recurso a partir de un archivo yaml

A

oc create -f FILE

24
Q

Como se modifica un recurso con el editor

25
Como se elimina un recurso en openshift
oc delete RESOURCE_TYPE
26
Como se ejecuta un comando dentro de un contenedor en openshift
oc exec CONTAINER_ID options
27
Como se etiquetan los recursos en yaml
``` apiVersion: v1 kind: Service metadata: ...contents omitted... labels: app: nexus template: nexus-persistent-template name: nexus ...contents omitted... ```
28
Como se obtienen las las etiquetas
oc get svc,dc -l app=nexus
29
Cual es la estructura de una ruta en yaml?
``` { "apiVersion": "v1", "kind": "Route", "metadata": { "name": "quoteapp" }, "spec": { "host": "quoteapp.apps.example.com", "to": { "kind": "Service", "name": "quoteapp" } } } ```
30
Como se expone una ruta de un aplicativo llamado quote y servicio quotedb
oc expose service quotedb --name quote
31
Cual es el nombre defecto de una ruta?
route-name-project-name.default-domain
32
Como se obtienen todos los HAProxy pods con el aplicativo router
oc get pod --all-namespaces -l app=router
33
En qué proyecto se despliega por defecto una ruta
openshift-ingress
34
Como se lista la información de la ruta de un pod
oc describe pod router-default-746b5cfb65-f6sdm
35
Mostrar working pods en línea
oc get pods -w
36
Como se muestran los logs de un bullid manual
oc logs -f bc/php-helloworld
37
Como se elimina is ruta de un aplicativo gflllf
oc delete route/php-helloworld
38
Como se muestra la información de las rutas
oc describe svc/php-helloworld —name= ${RHT_OCP4_DEV_USER}-xyz
39
Como se muestran los image Streams de openshift
oc get is -n openshift
40
Como se crea una aplicación nueva usando image streams
oc new-app --as-deployment-config php~http://my.git.server.com/my-app --name=myapp O Usa -i php para indicar proyecto en caso de no usar la tilde
41
Como se crea una aplicación a partir de un repositorio git local
oc new-app --as-deployment-config .
42
Como se crea una aplicación con un repositorio git remoto
oc new-app --as-deployment-config \ https: //github.com/openshift/sti-ruby.git \ - -context-dir=2.0/test/puma-test-app
43
Como se crea una aplicación a partir de un branch específico de repositorio git remoto
oc new-app --as-deployment-config \ | https://github.com/openshift/ruby-hello-world.git#beta4
44
Como se crea un recurso De una aplicación nueva en openshift en yaml
oc -o json new-app --as-deployment-config \ > php~http://services.lab.example.com/app \ > --name=myapp > s2i.json
45
Cual es la estructura de un recurso tipo imageStream
``` { "kind": "ImageStream", 1 "apiVersion": "image.openshift.io/v1", "metadata": { "name": "myapp", 2 "creationTimestamp": null "labels": { "app": "myapp" }, "annotations": { "openshift.io/generated-by": "OpenShiftNewApp" } }, "spec": { "lookupPolicy": { "local": false } }, "status": { "dockerImageRepository": "" } }, ...output omitted... ```
46
Cual es la estructura de un buildconfig
``` ...output omitted... { "kind": "BuildConfig", 1 "apiVersion": "build.openshift.io/v1", "metadata": { "name": "myapp", 2 "creationTimestamp": null, "labels": { "app": "myapp" }, "annotations": { "openshift.io/generated-by": "OpenShiftNewApp" } }, "spec": { "triggers": [ { "type": "GitHub", "github": { "secret": "S5_4BZpPabM6KrIuPBvI" } }, { "type": "Generic", "generic": { "secret": "3q8K8JNDoRzhjoz1KgMz" } }, { "type": "ConfigChange" }, { "type": "ImageChange", "imageChange": {} } ], "source": { "type": "Git", "git": { "uri": "http://services.lab.example.com/app" 3 } }, "strategy": { "type": "Source", 4 "sourceStrategy": { "from": { "kind": "ImageStreamTag", "namespace": "openshift", "name": "php:7.3" 5 } } }, "output": { "to": { "kind": "ImageStreamTag", "name": "myapp:latest" 6 } }, "resources": {}, "postCommit": {}, "nodeSelector": null }, "status": { "lastVersion": 0 } }, ...output omitted... ```
47
Cual es un ejemplo de un deployment config
``` ...output omitted... { "kind": "DeploymentConfig", 1 "apiVersion": "apps.openshift.io/v1", "metadata": { "name": "myapp", 2 "creationTimestamp": null, "labels": { "app": "myapp" }, "annotations": { "openshift.io/generated-by": "OpenShiftNewApp" } }, "spec": { "strategy": { "resources": {} }, "triggers": [ { "type": "ConfigChange" 3 }, { "type": "ImageChange", 4 "imageChangeParams": { "automatic": true, "containerNames": [ "myapp" ], "from": { "kind": "ImageStreamTag", "name": "myapp:latest" } } } ], "replicas": 1, "test": false, "selector": { "app": "myapp", ``` ``` "deploymentconfig": "myapp" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "app": "myapp", "deploymentconfig": "myapp" }, "annotations": { "openshift.io/generated-by": "OpenShiftNewApp" } }, "spec": { "containers": [ { "name": "myapp", "image": "myapp:latest", 5 "ports": [ 6 { "containerPort": 8080, "protocol": "TCP" }, { "containerPort": 8443, "protocol": "TCP" } ], "resources": {} } ] } } }, "status": { "latestVersion": 0, "observedGeneration": 0, "replicas": 0, "updatedReplicas": 0, "availableReplicas": 0, "unavailableReplicas": 0 } }, ...output omitted... ```
48
Como se listan los builds
oc get builds
49
Como se obtienen los config de un build
oc get buildconfig
50
Como se compila un aplicativo en openshift
oc start-build myapp
51
Que es el context-dir en la creación de un nuevo aplicativo
Sub directorio para la aplicación Usado como fuente para compilación
52
Como se listan los templates
oc get templates -n openshift
53
Como se obtiene un listado | oc get template mysql-persistent -n openshift -o yaml
``` apiVersion: template.openshift.io/v1 kind: Template labels: ...value omitted... message: ...message omitted ... metadata: annotations: description: ...description omitted... iconClass: icon-mysql-database openshift.io/display-name: MySQL openshift.io/documentation-url: ...value omitted... openshift.io/long-description: ...value omitted... openshift.io/provider-display-name: Red Hat, Inc. openshift.io/support-url: https://access.redhat.com tags: database,mysql 1 labels: ...value omitted... name: mysql-persistent 2 objects:3 - apiVersion: v1 kind: Secret metadata: annotations: ...annotations omitted... name: ${DATABASE_SERVICE_NAME} 4 stringData: ...stringData omitted... - apiVersion: v1 kind: Service metadata: annotations: ...annotations omitted... name: ${DATABASE_SERVICE_NAME} spec: ...spec omitted... - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ${DATABASE_SERVICE_NAME} spec: ...spec omitted... - apiVersion: v1 kind: DeploymentConfig metadata: annotations: ...annotations omitted... name: ${DATABASE_SERVICE_NAME} spec: ...spec omitted... parameters: 5 - ...MEMORY_LIMIT parameter omitted... - ...NAMESPACE parameter omitted... - description: The name of the OpenShift Service exposed for the database. displayName: Database Service Name name: DATABASE_SERVICE_NAME 6 required: true value: mysql - ...MYSQL_USER parameter omitted... - description: Password for the MySQL connection user. displayName: MySQL Connection Password from: '[a-zA-Z0-9]{16}' 7 generate: expression name: MYSQL_PASSWORD required: true - ...MYSQL_ROOT_PASSWORD parameter omitted... - ...MYSQL_DATABASE parameter omitted... - ...VOLUME_CAPACITY parameter omitted... - ...MYSQL_VERSION parameter omitted... ```
54
Como se crea un recurso a partir de un sr
oc create -f todo-template.yaml deploy-multicontainer]$ oc create -f todo-template.yaml \ > -n openshift
55
Como se ven los procesos
oc process --parameters mysql-persistent -n openshift oc process --parameters mysql-persistent -n openshift