Skip to content

alexsandrofabbro/Heimdall-com-Kubernetes-e-Raspberry-PI-4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

Deploy do Heimdall no Cluster Kubernetes

Este guia descreve como implantar o Heimdall em um cluster Kubernetes com k3s, utilizando um Deployment, Service e Persistent Volume Claim (PVC).

Índice

Pré-requisitos

  • 3 Raspberry Pi 4 com pelo menos 2GB de RAM.
  • Cartões microSD com pelo menos 16GB.
  • Sistema operacional: Ubuntu Server.
  • Rede interna com DHCP configurado.

Arquitetura do Cluster

  • Master Node: 1 Raspberry Pi (com k3s server).
  • Worker Nodes: 2 Raspberry Pi (com k3s agent).
  • Rede: Flannel como CNI (Container Network Interface).
  • LoadBalancer: MetalLB configurado em modo Layer 2.

Configuração do Heindall

    1. Arquivo de Deployment

    Crie um arquivo YAML chamado heimdall-deployment.yaml com o seguinte conteúdo:

    apiVersion: apps/v1
          kind: Deployment
          metadata:
            name: heimdall-deployment
          spec:
            replicas: 1
            selector:
              matchLabels:
                app: heimdall
            template:
              metadata:
                labels:
                  app: heimdall
              spec:
                containers:
                - name: heimdall
                  image: linuxserver/heimdall
                  ports:
                  - containerPort: 80
                  env:
                  - name: TZ
                    value: "America/Sao_Paulo"
                  volumeMounts:
                  - mountPath: /config
                    name: config-volume
                volumes:
                - name: config-volume
                  persistentVolumeClaim:
                    claimName: heimdall-pvc
       

    2. Arquivo de Persistent Volume (PV)

    Crie um arquivo YAML chamado heimdall-pv.yaml com o seguinte conteúdo:

    apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: heimdall-pv
        labels:
          app: heimdall
      spec:
        capacity:
          storage: 2Gi
        accessModes:
          - ReadWriteOnce
        persistentVolumeReclaimPolicy: Retain
        storageClassName: standard
        hostPath:
          path: /mnt/data/heimdall
      

    3. Arquivo de Persistent Volume Claim (PVC)

    Crie um arquivo YAML chamado heimdall-pvc.yaml com o seguinte conteúdo:

    apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: heimdall-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 2Gi
        storageClassName: standard
        

    4. Arquivo de Service

    Crie um arquivo YAML chamado heimdall-service.yaml com o seguinte conteúdo:

    apiVersion: v1
      kind: Service
      metadata:
        name: heimdall
      spec:
        selector:
          app: heimdall
        ports:
          - protocol: TCP
            port: 80
            targetPort: 80
        type: LoadBalancer
      

    Aplicando os arquivos ao cluster

    Execute os seguintes comandos para aplicar os arquivos YAML ao cluster Kubernetes:

    kubectl apply -f heimdall-deployment.yaml
        kubectl apply -f heimdall-service.yaml
        kubectl apply -f heimdall-pvc.yaml
      

    Acessando o Heimdall

    Após a implantação, você poderá acessar o Heimdall através do IP alocado pelo MetalLB:

    http://<IP-externo-do-Heimdall:80>

    7. Conclusão

    Agora o Heimdall está em execução no seu cluster Kubernetes, pronto para ser usado como seu painel inicial de aplicativos!

    Recursos Adicionais

    Contribuições

    Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.

    Licença

    Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

Esse repositório irá auxiliar com a instalação do Heimdall com Kubernetes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published