Pular para o conteúdo principal

Instalando Kubernetes no Ubuntu

Kubernetes


1. Pré-requisitos

Antes de iniciar, certifique-se de que você tem:

  • Três servidores rodando Ubuntu 20.04 ou superior
  • Acesso root ou sudo
  • Firewall configurado corretamente

2. Configurar os Servidores

Em todos os servidores, desative o swap:

sudo swapoff -a

Edite o /etc/fstab para remover qualquer entrada de swap.

3. Instalar Dependências

Execute os seguintes comandos em todos os servidores:


sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo tee /etc/apt/trusted.gpg.d/kubernetes.asc sudo apt-add-repository "deb https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" sudo apt update sudo apt install -y kubelet kubeadm kubectl sudo systemctl enable kubelet 

4. Configurar o Nó Mestre

No servidor principal, inicialize o cluster:

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

Após a instalação, configure o usuário para acessar o cluster:


mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 

5. Configurar Rede do Cluster

Instale o Calico para rede de pods:


kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml 

6. Adicionar Nós ao Cluster

Após a inicialização do cluster, o comando kubeadm init retorna um token. Execute este comando nos servidores adicionais para juntá-los ao cluster:


sudo kubeadm join [IP_DO_MASTER]:6443 --token [TOKEN] --discovery-token-ca-cert-hash sha256:[HASH] 

7. Verificar o Cluster

De volta ao nó mestre, verifique os nós:

kubectl get nodes

Agora você tem um cluster Kubernetes funcional!

Conclusão

Este tutorial mostrou como instalar e configurar um cluster Kubernetes em Ubuntu. Se precisar de ajuda, deixe seu comentário!

Comentários

Postagens mais visitadas deste blog

Como Subir o ChromaDB com Docker-Compose

Como Subir o ChromaDB com Docker-Compose Como Subir o ChromaDB com Docker-Compose O ChromaDB é um banco de dados vetorial de alto desempenho, ideal para aplicações que utilizam inteligência artificial e busca semântica. Neste post, vamos mostrar como subir o ChromaDB utilizando o Docker-Compose . Pré-requisitos Docker instalado ( Instruções ) Docker Compose instalado ( Instruções ) Passo 1: Criando o arquivo docker-compose.yml Crie um diretório para o projeto e dentro dele, crie o arquivo docker-compose.yml com o seguinte conteúdo: version: '3.8' services: chromadb: image: ghcr.io/chroma-core/chroma:latest container_name: chromadb restart: always ports: - "8000:8000" volumes: - chroma_data:/chroma volumes: chroma_data: driver: local Passo 2: Subindo o ChromaDB Agora, no terminal, navegue até a pasta onde está o arquivo ...

Guia de instalação e configuração do Portainer no Ubuntu

  Guia Completo de Instalação do Portainer.io no Docker O Portainer.io é uma ferramenta poderosa e amigável para o gerenciamento de containers Docker, Swarm e Kubernetes. Se você trabalha com containers, essa é uma solução essencial para facilitar sua administração. Vamos aprender como instalar e configurar o Portainer no Docker. O que é o Portainer.io? O Portainer.io é uma interface gráfica simples, que permite gerenciar de maneira centralizada seus containers, volumes, redes e imagens Docker. Ele pode ser utilizado por iniciantes e profissionais, pois oferece uma administração visual dos seus ambientes. Benefícios do Portainer Interface amigável : Gerencie containers de forma visual, tornando a administração mais simples e intuitiva. Gerenciamento centralizado : Administre múltiplos ambientes Docker/Kubernetes em um único local. Facilidade para iniciantes : Reduz a curva de aprendizado do Docker com sua interface gráfica. Gerenciamento de volumes e redes : ...

Streaming de Vídeos Grandes com Node.js e ReactJS

Se você precisa exibir vídeos grandes (mais de 1GB) sem sobrecarregar o frontend, a melhor solução é o streaming progressivo. 1. Configurando o Servidor Node.js Crie um servidor com Express para servir o vídeo em partes, permitindo que o player carregue apenas o necessário. const express = require("express"); const fs = require("fs"); const path = require("path"); const app = express(); const PORT = 3000; app.get("/video", (req, res) => { const videoPath = path.join(__dirname, "videos", "meu_video.mp4"); const stat = fs.statSync(videoPath); const fileSize = stat.size; const range = req.headers.range; if (range) { const parts = range.replace(/bytes=/, "").split("-"); const start = parseInt(parts[0], 10); const end = parts[1] ? parseInt(parts[1], 10) : fileSize - 1; const chunkSize = (end - start) + 1; const fileStream = fs.createReadStream(videoPath, { start, end }); ...