Este guia descreve como implantar o Heimdall em um cluster Kubernetes com k3s, utilizando um Deployment, Service e Persistent Volume Claim (PVC).
- Pré-requisitos
- Arquitetura do Cluster
- Configuração do Heimdall
- Aplicando os arquivos ao Cluster
- Acessando o Heimdall
- Conclusão
- 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.
- 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.
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
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
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
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
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
Após a implantação, você poderá acessar o Heimdall através do IP alocado pelo MetalLB:
http://<IP-externo-do-Heimdall:80>Agora o Heimdall está em execução no seu cluster Kubernetes, pronto para ser usado como seu painel inicial de aplicativos!
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.