Git Product home page Git Product logo

esig's Introduction

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

esig's People

Contributors

joancefet avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.