Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
info:cursos:pue:devops:sesion11 [22/03/2019 08:05] – creat mateinfo:cursos:pue:devops:sesion11 [22/03/2019 12:45] (actual) – [k8s] mate
Línia 1: Línia 1:
 = Sesión 11 Jenkins = Sesión 11 Jenkins
 +== big data (Cloudera)
 +{{ :info:cursos:pue:devops:cloudera-introduction.pdf |}}
 +  * MapReduce -> Spark
 +    * MapReduce : repartir la carga entre X servidores que no tengan colisiones y meterlo en un lugar común
 +    * Hive : SQL to MapReduce
 +    * Pig : lenguaje para no SQL (pero que se le parece tanto...)
 +    * kafka : cluster
 +    * impala : consumo intensivo RAM, accede al FS directamente (sin pasar por HDFS)
 +      * HDFS : Hadoop Distributed FS (Java) -> lento
 +    * SOLR : indexador
 +    * Kite : ¿api?
 +    * Resource Management
 +      * YARN : Yet Another Resource Negotation
 +      * sistema de colas
 +        * Filesystem: HDFS
 +        * Relational: kudu
 +    * Security
 +      * Sentry : kerberos
 +      * RecordService: ¿registro a qye se ha accedido?
 +        * NoSQL: HBase (el perdedor contra Casandra)
 +    * Storage
 +      * Batch
 +        * sqoop
 +      * Real-Time
 +        * Kafka
 +  * Hadoop Cluster
 +    * NameNode (de 2 a 3, este último para Journal)
 +      * zookeeper : service discovery
 +      * secondaryNameNode : helper
 +      * Resource manager (YARN)
 +    * DataNode
 +      * Just a Band of Disc
 +      * RAID1 para disco OS
 +      * hacen el trabajo
 +    * HDFS
 +      * sistema raid
 +      * bloques de 128MG
 +      * replicación (3 dataNode)
 +      * reglas de afinidad de la replicación
 +      * sueltas el archivo de Gb o Tb
 +    * Beowulf cluster
 +      * [[https://es.wikipedia.org/wiki/Cluster_Beowulf]]
 +      * [[https://es.wikipedia.org/wiki/Grace_Murray_Hopper]]
 +        * mejor 2 equipos que un equipo con el doble
 +
 +== Jenkins
 +=== en otras sesiones
 +GitLab demo 1:{{:info:cursos:pue:devops:pasted:20190322-085906.png }}
 +GitLab demo 1 Job:<code bash>docker run --name demo1-${BUILD_NUMBER} --rm -d gitlab/nginx-demo1
 +sleep 15
 +CONTAINER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' demo1-${BUILD_NUMBER})
 +CODE_STATUS=$(curl -sI ${CONTAINER_IP} | grep -c "^HTTP/1.1 200")
 +docker stop demo1-${BUILD_NUMBER}
 +
 +#[[ ${CODE_STATUS} == 1 ]] && { echo "OK"; exit 0; } || { echo "KO";exit 1; }
 +if [ ${CODE_STATUS} -eq 1 ]; then {
 + exit 0; 
 +} else { 
 +    exit 1;
 +}
 +fi
 +</code>
 +gitlab demo 1 pipeline:<code>
 +node {
 +   stage("build") {
 +        def job = build job: 'gitlab demo1'
 +   }
 +
 +   stage("execute") {
 +        def job = build job: 'gitlab demo1 job'
 +   }
 +   
 +   stage("publish") {
 +        def job = build job: 'gitlab demo1 publish'
 +   }
 +}
 +</code>
 +gitlab demo1 publish:<code>
 +node ("docker-agent") {
 +    stage ("tag") {
 +        sh ('docker tag gitlab/nginx-demo1:latest registry.floss.cat/mate/demo1:latest')
 +    }
 +    
 +    stage ("push") {
 +        withCredentials([usernamePassword(credentialsId: 'registry.floss.cat', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
 +            sh('''
 +                docker login --username=${USERNAME} --password=${PASSWORD} registry.floss.cat
 +                docker push registry.floss.cat/mate/demo1:latest
 +            ''')
 +        }
 +    }
 +}
 +</code>
 +
 +=== pipelines
 +  * [[https://jenkins.io/doc/book/pipeline/docker/]]
 +  * [[https://jenkins.io/doc/book/pipeline/syntax/]]
 +  * [[https://jenkins.io/doc/book/pipeline/jenkinsfile/]]
 +  * [[https://github.com/stefanprodan/dockerdash/blob/master/Jenkinsfile]]
 +  * blue-ocean
 +    * Jenkinsfile:
 +      * SCM
 +      * pipeline as code
 +
 +== k8s
 +  * [[https://medium.com/@geraldcroes/kubernetes-traefik-101-when-simplicity-matters-957eeede2cf8]]
 +    * traefik + kubernetes
 +    * deployment for traefik: [[https://docs.traefik.io/user-guide/kubernetes/]]
 +  * calico: driver red para kubernetes + policy (para establecer como se ven los servicios de un namespace)
 +  * [[https://kubernetes.io/docs/tasks/tools/install-minikube/]]
  • info/cursos/pue/devops/sesion11.1553267147.txt.gz
  • Darrera modificació: 22/03/2019 08:05
  • per mate