Gregory Hunt
09/10/2024, 1:34 PMFabio Machado
09/10/2024, 1:38 PM│ Command: │
│ prefect │
│ worker │
│ start │
│ --pool │
│ winkernetes │
│ State: Running
Gregory Hunt
09/10/2024, 1:39 PMFabio Machado
09/10/2024, 1:40 PMeksctl create iamidentitymapping --cluster XXXXXXX --arn arn:aws:iam::11111111111111:user/prefect-service-account --group manager --username system:serviceaccount:big-data:prefect-service-account
Fabio Machado
09/10/2024, 1:40 PMFabio Machado
09/10/2024, 1:49 PMversion: '2.0'
name: fabio-deploy-kube28
description: Deployment do meu fluxo utilizando Kubernetes
work_pool:
name: winkernetes
infrastructure:
type: kubernetes-job
blockName: winker-netes # Substitua pelo nome do seu bloco Kubernetes
working_directory: /code
image: XXXXXXX/dwh:flow
serviceAccountName: prefect-service-account
tolerations:
- key: "name"
operator: "Equal"
value: "prefect"
effect: "NoSchedule"
tolerationSeconds: 3600
resources:
limits:
cpu: "1"
memory: "512Mi"
requests:
cpu: "0.5"
memory: "256Mi"
parameters: {}
# nome: fabio
# sobrenome: machado
tags:
- winker
schedule: {}
# cron: '*/1 * * * *'
# storage:
# type: remote-file-system
# blockName: "meu-storage-block" # Substitua pelo nome do bloco de armazenamento remoto, se necessário
deployments:
- name: test-28
entrypoint:
version: '1.0'
tags:
- kubernetes
- meu-fluxo
parameters: {}
# nome: fabio
# sobrenome: machado
description:
work_pool:
name: winkernetes
work_queue_name: default
job_variables:
env:
PREFECT_API_URL: <http://prefect-server.big-data.svc.cluster.local:4200/api>
image: '{{ build-image.image }}'
schedules: {}
# - cron: '*/1 * * * *'
# timezone:
# day_or: true
# active: true
build:
- prefect_docker.deployments.steps.build_docker_image:
requires: prefect-docker>=0.3.1
id: build-image
dockerfile: ./Dockerfile
image_name: XXXXX/dwh
tag: flow
dockerfile: ./Dockerfile
push:
- prefect_docker.deployments.steps.push_docker_image:
requires: prefect-docker>=0.3.1
image_name: '{{ build-image.image_name }}'
tag: '{{ build-image.tag }}'
credentials: '{{ prefect_docker.docker-registry-credentials.docker_registry_creds_name
}}'
pull:
- prefect.deployments.steps.set_working_directory:
directory: /code
Fabio Machado
09/10/2024, 1:50 PMGregory Hunt
09/10/2024, 1:50 PMFabio Machado
09/10/2024, 1:55 PMapiVersion: apps/v1
kind: Deployment
metadata:
name: prefect-work-pool
namespace: big-data
spec:
replicas: 1
selector:
matchLabels:
app: prefect-work-pool
template:
metadata:
labels:
app: prefect-work-pool
spec:
serviceAccount: prefect-service-account
containers:
- name: prefect-work-pool
image: XXXXXX/dwh:flow
env:
- name: PREFECT_API_URL
value: <http://prefect-server.big-data.svc.cluster.local:4200/api>
tolerations:
- key: "name"
operator: "Equal"
value: "prefect"
effect: "NoSchedule"
Fabio Machado
09/10/2024, 1:55 PMFabio Machado
09/10/2024, 1:55 PMFabio Machado
09/10/2024, 2:07 PMFabio Machado
09/10/2024, 2:56 PMFabio Machado
09/10/2024, 2:57 PMGregory Hunt
09/10/2024, 3:05 PMprefect-service-account
has the correct permissions in you cluster, what are the permission errors you get?Fabio Machado
09/10/2024, 5:38 PMbig-data prefect-pool-59d95b5689-dd4nx prefect-work-pool prefect.exceptions.InfrastructureError: Unable to create Kubernetes job: Forbidden: jobs.batch is forbidden: User "system:serviceaccount:big-data:prefect-service-account" cannot create resource "jobs" in API group "batch" in the namespace "default"
Fabio Machado
09/10/2024, 5:39 PMFabio Machado
09/10/2024, 6:16 PMsystem:serviceaccount:big-data:prefect-service-account
, the deployments still referencing to it. I'm so concerned about this.Fabio Machado
09/10/2024, 10:10 PM| result = func(*args)
| ^^^^^^^^^^^
| File "/usr/local/lib/python3.12/ssl.py", line 917, in do_handshake
| self._sslobj.do_handshake()
| ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1000)
Fabio Machado
09/10/2024, 10:10 PMGregory Hunt
09/10/2024, 10:20 PMFabio Machado
09/11/2024, 1:28 PMfrom prefect_aws import AwsCredentials
aws_credentials_block = AwsCredentials.load("dwh-aws")
from prefect.blocks.kubernetes import KubernetesClusterConfig
cluster_config_block = KubernetesClusterConfig.load("winkernetes-prefect")
from prefect_kubernetes.credentials import KubernetesCredentials
kubernetes_credentials = KubernetesCredentials.load("kube-dwh-cred")
I need to inject all of them into the worker pod? Or i understand all concepts in a wrong way?Gregory Hunt
09/11/2024, 1:30 PMGregory Hunt
09/11/2024, 1:31 PMGregory Hunt
09/11/2024, 1:32 PMFabio Machado
09/11/2024, 1:32 PMFabio Machado
09/11/2024, 1:33 PMFabio Machado
09/11/2024, 1:33 PMGregory Hunt
09/11/2024, 1:33 PMGregory Hunt
09/11/2024, 1:33 PMGregory Hunt
09/11/2024, 1:33 PMFabio Machado
09/11/2024, 1:34 PMFabio Machado
09/11/2024, 5:26 PMGregory Hunt
09/11/2024, 6:09 PM