Instalando Home Assistant no Kubernetes com OpenMediaVault


Instalar Home Assistant no Kubernetes com OpenMediaVault

Instalar Home Assistant no Kubernetes com OpenMediaVault

Este guia mostra como instalar o Home Assistant em um cluster Kubernetes rodando sobre OpenMediaVault. Inclui configuração de volumes persistentes, criação de arquivos YAML de deployment e service, e exposição do serviço para acesso externo.

1. Pré-requisitos

  • Kubernetes já instalado e funcional no servidor OpenMediaVault.
  • kubectl configurado para acessar o cluster.
  • Storage provisionado (pode ser via NFS, hostPath ou outro backend suportado).

2. Criar Volume Persistente (PV) e PersistentVolumeClaim (PVC)

O Home Assistant precisa de armazenamento persistente para manter suas configurações.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ha-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /srv/k8s/homeassistant
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ha-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

3. Deployment do Home Assistant

Crie o deployment para rodar o container oficial do Home Assistant.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: home-assistant
spec:
  replicas: 1
  selector:
    matchLabels:
      app: home-assistant
  template:
    metadata:
      labels:
        app: home-assistant
    spec:
      containers:
      - name: home-assistant
        image: ghcr.io/home-assistant/home-assistant:stable
        ports:
        - containerPort: 8123
        volumeMounts:
        - name: ha-storage
          mountPath: /config
      volumes:
      - name: ha-storage
        persistentVolumeClaim:
          claimName: ha-pvc

4. Service para expor o Home Assistant

Você pode expor via NodePort ou Ingress. Exemplo com NodePort:

apiVersion: v1
kind: Service
metadata:
  name: home-assistant
spec:
  type: NodePort
  selector:
    app: home-assistant
  ports:
    - port: 8123
      targetPort: 8123
      nodePort: 30123

5. Acesso ao Home Assistant

  • Após aplicar os manifests, o Home Assistant estará acessível em http://<IP-do-nó>:30123.
  • Se preferir, configure um Ingress Controller para expor via domínio e HTTPS.

6. Boas práticas

  • Use Ingress + Cert-Manager para HTTPS.
  • Configure backups regulares do volume persistente.
  • Monitore os recursos com kubectl logs e kubectl describe.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *