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

A

oc edit

25
Q

Como se elimina un recurso en openshift

A

oc delete RESOURCE_TYPE

26
Q

Como se ejecuta un comando dentro de un contenedor en openshift

A

oc exec CONTAINER_ID options

27
Q

Como se etiquetan los recursos en yaml

A
apiVersion: v1
kind: Service
metadata:
...contents omitted...
  labels:
    app: nexus
    template: nexus-persistent-template
  name: nexus
...contents omitted...
28
Q

Como se obtienen las las etiquetas

A

oc get svc,dc -l app=nexus

29
Q

Cual es la estructura de una ruta en yaml?

A
{
    "apiVersion": "v1",
    "kind": "Route",
    "metadata": {
        "name": "quoteapp"
    },
    "spec": {
        "host": "quoteapp.apps.example.com",
        "to": {
            "kind": "Service",
            "name": "quoteapp"
        }
    }
}
30
Q

Como se expone una ruta de un aplicativo llamado quote y servicio quotedb

A

oc expose service quotedb –name quote

31
Q

Cual es el nombre defecto de una ruta?

A

route-name-project-name.default-domain

32
Q

Como se obtienen todos los HAProxy pods con el aplicativo router

A

oc get pod –all-namespaces -l app=router

33
Q

En qué proyecto se despliega por defecto una ruta

A

openshift-ingress

34
Q

Como se lista la información de la ruta de un pod

A

oc describe pod router-default-746b5cfb65-f6sdm

35
Q

Mostrar working pods en línea

A

oc get pods -w

36
Q

Como se muestran los logs de un bullid manual

A

oc logs -f bc/php-helloworld

37
Q

Como se elimina is ruta de un aplicativo gflllf

A

oc delete route/php-helloworld

38
Q

Como se muestra la información de las rutas

A

oc describe svc/php-helloworld —name= ${RHT_OCP4_DEV_USER}-xyz

39
Q

Como se muestran los image Streams de openshift

A

oc get is -n openshift

40
Q

Como se crea una aplicación nueva usando image streams

A

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
Q

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

A

oc new-app –as-deployment-config .

42
Q

Como se crea una aplicación con un repositorio git remoto

A

oc new-app –as-deployment-config \

https: //github.com/openshift/sti-ruby.git \
- -context-dir=2.0/test/puma-test-app

43
Q

Como se crea una aplicación a partir de un branch específico de repositorio git remoto

A

oc new-app –as-deployment-config \

https://github.com/openshift/ruby-hello-world.git#beta4

44
Q

Como se crea un recurso De una aplicación nueva en openshift en yaml

A

oc -o json new-app –as-deployment-config \
> php~http://services.lab.example.com/app \
> –name=myapp > s2i.json

45
Q

Cual es la estructura de un recurso tipo imageStream

A
{
    "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
Q

Cual es la estructura de un buildconfig

A
...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
Q

Cual es un ejemplo de un deployment config

A
...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
Q

Como se listan los builds

A

oc get builds

49
Q

Como se obtienen los config de un build

A

oc get buildconfig

50
Q

Como se compila un aplicativo en openshift

A

oc start-build myapp

51
Q

Que es el context-dir en la creación de un nuevo aplicativo

A

Sub directorio para la aplicación Usado como fuente para compilación

52
Q

Como se listan los templates

A

oc get templates -n openshift

53
Q

Como se obtiene un listado

oc get template mysql-persistent -n openshift -o yaml

A
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
Q

Como se crea un recurso a partir de un sr

A

oc create -f todo-template.yaml

deploy-multicontainer]$ oc create -f todo-template.yaml \
> -n openshift

55
Q

Como se ven los procesos

A

oc process –parameters mysql-persistent -n openshift

oc process –parameters mysql-persistent -n openshift