Archivo

Posts Tagged ‘Centos’

Instalación de Cluster de Kubernetes con Vagrant

marzo 4, 2020 Deja un comentario

Como parte de las labores de despliegue de software, la automatizar los procesos de infraestructura como código, es vital, para las actividades de Pentesting / Ethical Hacking tener construir tus entornos y escenarios locales de prueba sirve infinitamente para poder realizar tus P.O.C.

Es así que aquí va el procedimiento para automatizar la instalacion de un Cluster de Kubernetes usando Vagrant en Centos 7, este es el Escenario.

Ubuntu 16.04.6 LTS
Vagrant 2.2.3

Este es Vagantfile

###########################################

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = “2”
##Variables de configuracion ###
INTERFASE_BRIDGE = “wlps01”
DIRECCION_IP_BRIDGE = “192.168.1.151”
MASCARA_RED = “255.255.255.0”
PUERTA_ENLACE = “192.168.1.1”
##Configuracion de la VM master
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = “centos/7”
config.disksize.size = ’50GB’
config.vm.network “public_network”, bridge: INTERFASE_BRIDGE, ip: DIRECCION_IP_BRIDGE, netmask: MASCARA_RED, gateway: PUERTA_ENLACE
config.vm.hostname = “k8s-master”
config.vm.provider “virtualbox” do |v|
v.name = “k8s-master”
v.memory = 2048
v.cpus = 2
end
##Insertar llave SSH
config.ssh.insert_key = false
config.ssh.private_key_path = [‘~/.vagrant.d/insecure_private_key’, ‘~/.ssh/id_rsa’]
config.vm.provision “file”, source: “~/.ssh/id_rsa.pub”, destination: “~/.ssh/authorized_keys”
##Configuracion de SSH, SELINUX, IPTABLES, SWAP, FIREWALLD
config.vm.provision “shell”, inline: <<-EOC
sudo sed -i -e “\\#PasswordAuthentication yes# s#PasswordAuthentication yes#PasswordAuthentication no#g” /etc/ssh/sshd_config
sudo sed -i -e “\\#PermitRootLogin prohibit-password# s#PermitRootLogin prohibit-password#PermitRootLogin yes#g” /etc/ssh/sshd_config
sudo sed -i -e “\\#SELINUX=enforcing# s#SELINUX=enforcing#SELINUX=disabled#g” /etc/selinux/config
sudo systemctl restart sshd.service
sudo setenforce 0
sudo modprobe br_netfilter
sudo echo ‘1’ > /proc/sys/net/bridge/bridge-nf-call-iptables
sudo sed -i ‘/swap/d’ /etc/fstab
sudo swapoff -a
sudo systemctl stop firewalld
sudo systemctl mask firewalld
echo “Instalacion de Docker”
sudo yum -y install vim yum-utils net-tools
sudo yum -y install epel-release
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager –add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
echo “Instalacion de Kubernetes”
sudo yum-config-manager –add-repo=http://www.silcom.com.pe/soft/kubernetes.repo
sudo yum-config-manager –enable Kubernetes
sudo yum install -y kubelet kubeadm kubectl
echo “Fin de Instalacion”
EOC
##Reinicio de la VM
config.vm.provision :reload
##Configuracion e inicio de servicio docker y kunernestes
config.vm.provision “shell”, env: {“VARIP” => “192.168.1.151”}, inline: <<-EOC
sudo sed -i ‘1i $VARIP k8s-master k8s-master’ /etc/hosts
sudo systemctl start docker && systemctl enable docker
sudo systemctl start kubelet && systemctl enable kubelet
sudo sed -i ‘s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g’ /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
sudo systemctl daemon-reload
sudo systemctl restart kubelet
echo “Inicializacion de Cluster”
sudo kubeadm init –apiserver-advertise-address=$VARIP –pod-network-cidr=10.244.0.0/16
sudo mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo “Fin de Inicializacion de Cluster”
echo “Desplegar el pod network”
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
echo “Pod network creado”
echo “FIN”
EOC
#Fin SSH
end

##############################################################3

Finalmente este es el video donde se muestra el despliegue :

Espero les sirva.
Saludos
@jroliva

 

Alta disponibilidad con Issabel PBX

agosto 24, 2017 20 comentarios

En escenarios donde la continuidad del negocio es un factor clave, contar con alta disponibilidad para servicios que se consideran críticos dentro de una organización es clave. En este caso concreto, el presente documento presenta la receta para implementar alta disponibilidad para la plataforma de comunicaciones Issabel PBX.

El software que hemos usado para tener alta disponibilidad se llama Pacemaker así como corosync, los cuales reemplazan al muy conocido heartbeat, el cual se encuentra descontinuado para Centos 7 que es el sistema operativo base de Issabel.

Si bien es cierto la plataforma Issabel, es sumamente estable como para confiar toda la carga a un solo recurso, no es ajena a fallas de otro tipo como factores, eléctricos, climáticos, de hardware, etc. Es por ello en caso de que uno de las plataformas fallase por los factores ya mencionados, dejaría sin comunicaciones a la organización, por lo tanto, es crítico tener el servicio en alta redundancia de forma que si un servidor falla, otro asume el servicio de manera transparente.

Espero les sirva el documento :

Descargar : Paper Alta disponibilidad con Issabel PBX