joancefet / esig

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implementação RocketChat e WikiJS com Kubernetes

Para essa implementação, será utilizado a distro Linux Ubuntu 20.04 com o Cluster Kubernetes Minikube e as ferramentas helm, kubeadm, kubectl e kubelet

Instalação

Instalando Minikube e suas ferramentas

Adicionando repositório Kubernetes

sudo apt install apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt --fix-broken install

Instalando kubelet kubeadm kubectl

sudo apt install -y kubeadm kubelet kubectl kubernetes-cni
sudo apt-mark hold kubelet kubeadm kubectl
sudo apt --fix-broken install

Instalando minikube

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

Instalando helm

curl -O https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
bash ./get-helm-3
helm version
helm repo add stable https://charts.helm.sh/stable
helm repo update

Instalando Virtualbox(requerimento para o Minikube)

sudo apt install virtualbox

Iniciando cluster kubernetes

sudo kubeadm init --pod-network-cidr=10.100.0.0/16

Iniciando Minikube

minikube start --driver=virtualbox

Aplicando os manifestes Postgres

kubectl create -f postgresql/postgres-config.yaml
kubectl create -f postgresql/postgres-workload.yaml
kubectl create -f postgresql/pgadmin-workload.yaml

Aplicando os manifests para o WikiJS

OBS.: Alterar o IP do banco no arquivo wiki-deployment.yaml

kubectl create -f wikijs/wiki-deployment.yaml
kubectl create -f wikijs/wiki-ingress.yaml

Exportando o WikiJS para um endereço externo

minikube service wikijs

Instalando RocketChat e MongoDB

helm install --set mongodb.mongodbUsername=rocketchat,mongodb.mongodbPassword=rocketchat123,mongodb.mongodbDatabase=rocketchat,mongodb.mongodbRootPassword=root rocketchat stable/rocketchat | provisioning all rocketchat cluster

Aplicando o port-forward na instancia RocketChat para torna-la acessível externamente

kubectl port-forward --namespace default $(kubectl get pods --namespace default -l "app.kubernetes.io/name=rocketchat,app.kubernetes.io/instance=rocketchat" -o jsonpath='{ .items[0].metadata.name }') 8888:3000 | create bind to the port 3000

About


Languages

Language:HTML 100.0%