Login
Login
Atualizado em 12 de February de 2026

O OpenFaaS é uma plataforma open-source para executar funções (FaaS) sobre Kubernetes. Ele simplifica a implantação de pequenas unidades de código que executam sob demanda ou em resposta a eventos.

No núcleo do OpenFaaS está o modelo Function as a Service (FaaS): você escreve uma função, empacota em uma imagem Docker e o OpenFaaS cuida do escalonamento, rede e gerenciamento do ciclo de vida.

Oferece uma interface web amigável e uma ferramenta de linha de comando chamada faas-cli. Você pode escrever funções em linguagens populares como Python, Node.js, Go e outras, usando templates prontos.

A documentação completa do OpenFaaS no Kubernetes está disponível no site oficial.

Instalar o OpenFaaS

Para instalar o OpenFaaS:

  1. Vá para a seção Kubernetes e clique no seu cluster.
  2. Na aba Complementos, clique em OpenFaaS.
  3. Na janela de Configuração:
    • Encontre a seção ingress e habilite definindo enabled: true.
    • Especifique seu domínio no parâmetro host. Isso simplifica o acesso ao dashboard e permite o uso do faas-cli.
    • Caso habilite o ingress, você pode desativar exposeServices, que é usado por padrão.
  4. Depois de definir os parâmetros, clique em Instalar e aguarde a instalação.

Verifique se tudo está rodando checando o status dos pods no namespace openfaas-fn:

kubectl get pods -n openfaas-fn

Exemplo de saída:

NAME                            READY   STATUS    RESTARTS      AGE
alertmanager-57767d864c-hdqdn   1/1     Running   0             19h
gateway-5f9c4b5754-ksr6x        2/2     Running   1 (19h ago)   19h
nats-6ddf479847-dxr2g           1/1     Running   0             19h
prometheus-6cbd946f66-wqdf8     1/1     Running   0             19h
queue-worker-57c7479989-bw282   1/1     Running   0             19h

Se todos os pods estiverem com status Running, a instalação foi bem-sucedida.

Instalar a CLI

Para trabalhar com OpenFaaS via terminal, você precisa da ferramenta faas-cli. Ela permite criar funções, construir e enviar imagens, implantar no cluster, invocar funções e verificar seus status.

Está disponível para Linux, macOS e Windows.

Linux/macOS

curl -sSL https://cli.openfaas.com | sh

Ou via Homebrew (macOS):

brew install faas-cli

Windows (PowerShell)

$version = (Invoke-WebRequest "https://api.github.com/repos/openfaas/faas-cli/releases/latest" | ConvertFrom-Json)[0].tag_name

(New-Object System.Net.WebClient).DownloadFile("https://github.com/openfaas/faas-cli/releases/download/$version/faas-cli.exe", "faas-cli.exe")

Verifique a instalação:

faas-cli version

Exemplo de uso

Neste exemplo, vamos:

  1. Implantar o complemento OpenFaaS.
  2. Vincular um domínio para facilitar acesso ao dashboard e uso do CLI.
  3. Implantar uma função da store integrada.
  4. Criar e implantar uma função customizada usando Docker Hub.

Requisitos

  • Um domínio ou subdomínio para acesso ao OpenFaaS
  • Complemento Nginx Ingress instalado
  • Conta no Docker Hub (para funções customizadas)
  • faas-cli e Docker instalados

Implantar o add-on

No painel de controle, instale o complemento OpenFaaS.

Na seção de Configuração, habilite o ingress (enabled: true) e especifique seu domínio no campo host. Inicie a instalação.

Criar um Load Balancer

Crie um manifesto loadbalancer.yaml:

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx-lb
  namespace: ingress-nginx
spec:
  selector:
    app.kubernetes.io/name: ingress-nginx
  type: LoadBalancer
  ports:
    - name: http
      port: 80
      targetPort: 80
      appProtocol: k8s.hostman.com/proto-http
    - name: https
      port: 443
      targetPort: 443
      appProtocol: k8s.hostman.com/proto-https

Aplique:

kubectl apply -f loadbalancer.yaml

Configure o IP do load balancer como registro A do seu domínio:

  • Se estiver usando os servidores NS da Hostman, basta selecionar o load balancer criado.
  • Caso contrário, obtenha o IP manualmente:
kubectl get svc --all-namespaces --field-selector spec.type=LoadBalancer

O IP estará na coluna EXTERNAL-IP.

Acesse o domínio configurado — aparecerá um prompt de autenticação básica.

  • Usuário: admin
  • Para obter a senha:
kubectl -n openfaas-fn get secret basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode

Após o login, o dashboard será exibido.

8dbdb2f7 C1d7 4088 96d2 97ec77ec8b08.png

OpenFaaS Dashboard

Trabalhar com funções

Vamos usar funções da store integrada do OpenFaaS.

Faça login usando o CLI para executar comandos relacionados à gestão de funções:

faas-cli login \
  --gateway http://<domain> \
  --username admin \
  --password <password>
  • domain — endereço especificado durante a instalação do OpenFaaS
  • admin — usuário padrão
  • password — recuperável com:
kubectl -n openfaas-fn get secret basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode

Instalar a função figlet. Essa função converte texto em arte ASCII:

faas-cli store deploy figlet \
  --gateway http://<domain>

Verifique se a função foi instalada:

faas-cli list \
  --gateway http://<domain>

O status deverá aparecer como Ready.

Para invocar a função, passe uma string como entrada:

echo "Hostman" | faas-cli invoke figlet \
  --gateway http://<domain>

Você receberá a arte ASCII com o texto fornecido.

Agora, vamos ver como implantar uma função customizada. Escolha um template:

faas-cli template store list

Crie uma nova função baseada no template desejado, por exemplo python3-http:

faas-cli new hello-k8s --lang python3-http

Será criado:

  • hello-k8s/handler.py — código da função
  • stack.yaml — manifesto da função

Antes de construir, edite o stack.yaml e especifique o caminho da imagem Docker Hub. Por exemplo:

functions:
  hello-k8s:
    lang: python3-http
    handler: ./hello-k8s
    image: dockerhubuser/hello-k8s:latest

No campo image, informe seu usuário Docker Hub e o nome da imagem. A edição OpenFaaS Community Edition suporta apenas imagens públicas.

Construir a imagem:

faas-cli build -f stack.yaml

Depois, envie para o Docker Hub:

faas-cli push -f stack.yaml

Finalmente, implante a função no cluster:

faas-cli deploy -f stack.yaml \
  --gateway http://<domain>

Após executar o comando, você receberá um link para acessar a função.

0854d11f 63bb 4a4f B3c4 C848c42e4406.png

Abra o link e verá a mensagem: Hello from OpenFaaS!

Esta página foi útil?
Atualizado em 12 de February de 2026

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support