Skip to content

Instantly share code, notes, and snippets.

View nelsonyaccuzzi's full-sized avatar

Nelson Yaccuzzi nelsonyaccuzzi

View GitHub Profile
#!/bin/bash
## Dot Files Git Repository Setup bash script
## Following this guide https://www.atlassian.com/git/tutorials/dotfiles
shopt -s expand_aliases
git init --bare $HOME/.cfg
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
@nelsonyaccuzzi
nelsonyaccuzzi / practica_containers.md
Last active August 28, 2020 21:32
Practica de Containers - 1
@nelsonyaccuzzi
nelsonyaccuzzi / jenkins.yaml
Last active October 25, 2023 22:02
Jenkins K8s deployment
apiVersion: v1
kind: Namespace
metadata:
name: jenkins
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: jenkins
namespace: jenkins
pipeline {
agent { label 'docker'}
stages {
stage('Build') {
steps {
container('docker') {
script {
sh 'docker ps'
@nelsonyaccuzzi
nelsonyaccuzzi / jenkins.md
Last active January 18, 2021 15:28
Practica de Jenkins

Práctica Jenkins

  1. Desplegar Jenkins en K8s
  2. Conectar Jenkins con K8s
  3. Instalar los plugins de docker y K8s
  4. Crear un Pod Template con el container Docker
  5. Crear un Pipeline (a partir de un Jenkinsfile) que compile el dockerfile del siguiente proyecto https://github.com/nelsonyaccuzzi/web-go-public
  6. Crear un container que tenga solo el binario de kubectl, pushearlo a dockerhub
  7. Agregar el container al pod template que anteriormente creamos
@nelsonyaccuzzi
nelsonyaccuzzi / iac.md
Last active November 2, 2020 21:41
Practica de IaC

Practica de IaC

  1. Descargarse terraform y ubicarlo en el PATH en su equipo https://www.terraform.io/downloads.html
  2. Usando el provider de Kubernetes, transformar el manifiesto yaml del proyecto web-go en un manifiesto de terraform .tf (https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/getting-started)
    1. Para hacer funcionar esto, van a necesitar un token de conexion al cluster, para esto se puede usar el mismo usado para Jenkins.
    2. No crear el recurso ingress, ya que no es compatible con la api usada en la catedra
  3. De la misma forma ejectuar el container web-go solamente usando docker con el provider de docker https://www.terraform.io/docs/providers/docker/index.html
    1. Intentar conectarse a traves del socket de docker, el cual debe ser configurado a tal fin.
  4. Elegir un provider diferente y crear un recurso del mismo
apiVersion: v1
kind: Namespace
metadata:
name: mysql
---
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: mysql
control-plane
sudo kubeadm join 192.168.88.233:6443 --token eo3ed6.77bdvlpz7vbnxn9q \
--discovery-token-ca-cert-hash sha256:30f7690b6cd5927e425686477f389a795f1901ede98f3888fa626c9694ad1869 \
--control-plane
worker
---
- name: Install Kubernetes
hosts: localhost
become: yes
vars:
k8s_version: 1.25
os: "xUbuntu_22.04"
tasks:
- name: Update all packages to their latest version
apt: