Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Següent revisió | Revisió prèvia | ||
info:cursos:pue:devops:sesion11 [22/03/2019 08:05] – creat mate | info: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) | ||
+ | {{ : | ||
+ | * 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: | ||
+ | * 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:// | ||
+ | * [[https:// | ||
+ | * mejor 2 equipos que un equipo con el doble | ||
+ | |||
+ | == Jenkins | ||
+ | === en otras sesiones | ||
+ | GitLab demo 1: | ||
+ | GitLab demo 1 Job:< | ||
+ | sleep 15 | ||
+ | CONTAINER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' demo1-${BUILD_NUMBER}) | ||
+ | CODE_STATUS=$(curl -sI ${CONTAINER_IP} | grep -c " | ||
+ | docker stop demo1-${BUILD_NUMBER} | ||
+ | |||
+ | #[[ ${CODE_STATUS} == 1 ]] && { echo " | ||
+ | if [ ${CODE_STATUS} -eq 1 ]; then { | ||
+ | exit 0; | ||
+ | } else { | ||
+ | exit 1; | ||
+ | } | ||
+ | fi | ||
+ | </ | ||
+ | gitlab demo 1 pipeline:< | ||
+ | node { | ||
+ | | ||
+ | def job = build job: ' | ||
+ | } | ||
+ | |||
+ | | ||
+ | def job = build job: ' | ||
+ | } | ||
+ | |||
+ | | ||
+ | def job = build job: ' | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | gitlab demo1 publish:< | ||
+ | node (" | ||
+ | stage (" | ||
+ | sh (' | ||
+ | } | ||
+ | | ||
+ | stage (" | ||
+ | withCredentials([usernamePassword(credentialsId: | ||
+ | sh(''' | ||
+ | docker login --username=${USERNAME} --password=${PASSWORD} registry.floss.cat | ||
+ | docker push registry.floss.cat/ | ||
+ | ''' | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === pipelines | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * blue-ocean | ||
+ | * Jenkinsfile: | ||
+ | * SCM | ||
+ | * pipeline as code | ||
+ | |||
+ | == k8s | ||
+ | * [[https:// | ||
+ | * traefik + kubernetes | ||
+ | * deployment for traefik: [[https:// | ||
+ | * calico: driver red para kubernetes + policy (para establecer como se ven los servicios de un namespace) | ||
+ | * [[https:// |