purple-father-70173
11/26/2024, 5:45 AMpurple-father-70173
11/26/2024, 5:47 AMpurple-father-70173
11/26/2024, 5:48 AMaverage-finland-92144
11/26/2024, 4:12 PMaverage-finland-92144
11/26/2024, 4:12 PMpurple-father-70173
11/26/2024, 4:13 PMaverage-finland-92144
11/26/2024, 4:13 PMpurple-father-70173
11/26/2024, 4:18 PMingress:
create: true
host: "{{ .Values.userSettings.hostName }}"
separateGrpcIngress: true
ingressClassName: traefik
tls:
- hosts:
- "{{ .Values.userSettings.hostName }}"
secretName: flytetls
commonAnnotations:
<http://kubernetes.io/ingress.class|kubernetes.io/ingress.class>: traefik
<http://external-dns.alpha.kubernetes.io/hostname|external-dns.alpha.kubernetes.io/hostname>: flyte.local
httpAnnotations:
<http://nginx.ingress.kubernetes.io/app-root|nginx.ingress.kubernetes.io/app-root>: /console
grpcAnnotations:
<http://nginx.ingress.kubernetes.io/backend-protocol|nginx.ingress.kubernetes.io/backend-protocol>: GRPC
purple-father-70173
11/26/2024, 4:21 PM<http://external-dns.alpha.kubernetes.io/hostname|external-dns.alpha.kubernetes.io/hostname>: flyte.local
is just me trying somethingaverage-finland-92144
11/26/2024, 4:33 PMpurple-father-70173
11/26/2024, 4:47 PMpurple-father-70173
11/26/2024, 4:58 PM200
, I instead get a 500
Internal Server Erroraverage-finland-92144
11/26/2024, 5:00 PMflyte.local
being served by your ingress controller? if that's the case and you haven't changed anything, it's not going to work. To test without ingress you can do a port-forward of the flyteadmin service and then curl that endpointpurple-father-70173
11/26/2024, 5:12 PMNAME CLASS HOSTS ADDRESS PORTS AGE
flyte-flyte-binary-grpc traefik flyte.local 192.168.1.80 80, 443 11h
flyte-flyte-binary-http traefik flyte.local 192.168.1.80 80, 443 15h
When port-forwarding the grpc endpoint I get:
$ curl -v -X POST --http2 '<https://localhost:8089/grpc.health.v1.Health>' -d "" -H 'Content-Type: application/grpc' -H 'Accept: application/grpc'
* Host localhost:8089 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8089...
* connect to ::1 port 8089 from ::1 port 58848 failed: Connection refused
* Trying 127.0.0.1:8089...
* Connected to localhost (127.0.0.1) port 8089
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* OpenSSL/3.0.13: error:0A00010B:SSL routines::wrong version number
* Closing connection
curl: (35) OpenSSL/3.0.13: error:0A00010B:SSL routines::wrong version number
purple-father-70173
11/26/2024, 5:20 PMaverage-finland-92144
11/26/2024, 5:29 PMpurple-father-70173
11/26/2024, 5:53 PMpurple-father-70173
11/26/2024, 5:56 PMkubectl port-forward -n flyte svc/flyte-flyte-binary-grpc 8089:8089
average-finland-92144
11/26/2024, 6:07 PMgrpcurl
but the point is that unless you have a well-defined set of routes and annotations for Traefik gRPC to work, it may be better to install nginx and use `IngressClassName: nginx`to make sure Ingress requests are fulfilled by that controller and not traefikpurple-father-70173
11/26/2024, 6:17 PMpurple-father-70173
11/26/2024, 6:28 PMNAME CLASS HOSTS ADDRESS PORTS AGE
flyte-flyte-binary-grpc nginx flyte.local 192.168.1.83 80, 443 13h
flyte-flyte-binary-http nginx flyte.local 192.168.1.83 80, 443 16h
purple-father-70173
11/26/2024, 6:30 PM200
average-finland-92144
11/26/2024, 6:31 PMpyflyte
purple-father-70173
11/26/2024, 6:33 PMMaxRetryError: HTTPConnectionPool(host='flyte.local', port=30084): Max retries exceeded with url:
/flyte/flytesnacks/development/XKZHA3QUW6N2XSH5PLMKL22K5U%3D%3D%3D%3D%3D%3D/fast24e3400da62c0949fed85ce3cb777998.tar.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minio%2F20241126%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241126T183153Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=content-md5%3Bhos
t%3Bx-amz-meta-flytecontentmd5&X-Amz-Signature=a147ae265522fb16b2d4992d75fdcd0b06596547158f19fe546ae3ce0b260e83 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f371c13e660>: Failed to establish a new connection: [Errno 113] No route to host'))
This is my config:
admin:
endpoint: dns:///flyte.local
insecure: false
caCertFilePath: /home/titsw/.flyte/ca.crt
average-finland-92144
11/26/2024, 7:02 PMflyte.local
is not resolving on the DNS serverpurple-father-70173
11/26/2024, 7:06 PMCorefile: |
.:53 {
errors
health
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
hosts /etc/coredns/NodeHosts {
ttl 60
reload 15s
192.168.1.83 flyte.local
fallthrough
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
import /etc/coredns/custom/*.override
}
import /etc/coredns/custom/*.server
purple-father-70173
11/26/2024, 7:14 PMCorefile: |-
.:53 {
errors
health
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
hosts /etc/coredns/NodeHosts {
ttl 60
reload 15s
fallthrough
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
import /etc/coredns/custom/*.override
}
import /etc/coredns/custom/*.server
flyte.local:53 {
errors
hosts {
192.168.1.83 flyte.local
}
}
purple-father-70173
11/26/2024, 7:44 PMnslookup
flyte.local no problem, but when I try to ping flyte.local I get:
From <k3s-agent-node-ip-address> icmp_seq=1 Destination Host Unreachable
...
average-finland-92144
11/26/2024, 7:51 PMpurple-father-70173
11/26/2024, 7:52 PMpurple-father-70173
11/26/2024, 8:31 PMaverage-finland-92144
11/26/2024, 8:40 PMflytectl demo
before?purple-father-70173
11/26/2024, 8:41 PMaverage-finland-92144
11/26/2024, 8:42 PM30084
is the port used by that type of instance. In any case you can instruct the CLI to use your config file:
export FLYTECTL_CONFIG=$HOME/.flyte/config.yaml
and validate your config.yaml
points to your Flyte cluster like
cat $HOME/.flyte/config.yaml
admin:
endpoint: dns:///flyte.local
authType: Pkce
insecure: false
purple-father-70173
11/26/2024, 8:44 PM12:43:42.369408 DEBUG plugin.py:68 - Creating remote with config Config(platform=PlatformConfig(endpoint='flyte.local', insecure=False, insecure_skip_verify=False, ca_cert_file_path='/home/titsw/.flyte/ca.crt', console_endpoint=None, command=None, proxy_command=None, client_id=None,
client_credentials_secret=None, scopes=[], auth_mode='Pkce', audience=None, rpc_retries=3, http_proxy_url=None), secrets=SecretsConfig(env_prefix='_FSEC_', default_dir='/etc/secrets', file_prefix=''), stats=StatsConfig(host='localhost', port=8125, disabled=False, disabled_tags=False),
data_config=DataConfig(s3=S3Config(enable_debug=False, endpoint=None, retries=3, backoff=datetime.timedelta(seconds=5), access_key_id=None, secret_access_key=None), gcs=GCSConfig(gsutil_parallelism=False), azure=AzureBlobStorageConfig(account_name=None, account_key=None,
tenant_id=None, client_id=None, client_secret=None), generic=GenericPersistenceConfig(attach_execution_metadata=True)), local_sandbox_path='/tmp/flytestlcs8kp')
12:43:42.372883 DEBUG run.py:588 - Running workflow <http://demo.wf|demo.wf> with input {'inputs_file': None}
purple-father-70173
11/26/2024, 8:44 PMflyte.local
allows are 80
and 443
purple-father-70173
11/26/2024, 9:07 PM30084
is also the nodeport for minio on this cluster, is that related?purple-father-70173
11/26/2024, 9:18 PMflyte.local
to connect to minio, which is not under my ingresspurple-father-70173
11/26/2024, 9:20 PMstorage:
connection:
endpoint: <http://192.168.1.41:30084>
access-key: minio
secret-key: miniostorage
However, I still get this error `HTTPConnectionPool(host='flyte.local', port=30084): Max retries exceeded with url`so something in my configuration is wrongaverage-finland-92144
11/26/2024, 9:34 PMpurple-father-70173
11/26/2024, 9:35 PMuserSettings:
hostName: flyte.local
configuration:
logging:
level: 1
database:
username: postgres
password: postgres
host: postgres.flyte
dbname: flyte
storage:
type: minio
metadataContainer: flyte
userDataContainer: flyte
provider: s3
providerConfig:
s3:
region: "us-east-1" #Irrelevant for local but still needed
authType: "accesskey"
endpoint: "http://{{ .Values.userSettings.hostName }}:30084"
accessKey: "minio"
secretKey: "miniostorage"
disableSSL: "true"
secure: "false"
inline:
plugins:
k8s:
inject-finalizer: true
default-env-vars:
- FLYTE_AWS_ENDPOINT: "http://{{ .Values.userSettings.hostName }}:30084"
- FLYTE_AWS_ACCESS_KEY_ID: "minio"
- FLYTE_AWS_SECRET_ACCESS_KEY: "miniostorage"
task_resources:
defaults:
cpu: 1000m
memory: 500Mi #change default requested resources and limits to fit your needs
limits:
cpu: 2000m
memory: 2000Mi
storage:
cache:
max_size_mbs: 100
target_gc_percent: 100
ingress:
create: true
host: "{{ .Values.userSettings.hostName }}"
separateGrpcIngress: true
ingressClassName: nginx
tls:
- hosts:
- "{{ .Values.userSettings.hostName }}"
secretName: flytetls
commonAnnotations:
<http://kubernetes.io/ingress.class|kubernetes.io/ingress.class>: public
httpAnnotations:
<http://nginx.ingress.kubernetes.io/app-root|nginx.ingress.kubernetes.io/app-root>: /console
grpcAnnotations:
<http://nginx.ingress.kubernetes.io/backend-protocol|nginx.ingress.kubernetes.io/backend-protocol>: GRPC
average-finland-92144
11/26/2024, 9:36 PMpurple-father-70173
11/26/2024, 9:36 PMpurple-father-70173
11/26/2024, 9:37 PMaverage-finland-92144
11/26/2024, 9:38 PMpurple-father-70173
11/26/2024, 9:41 PMpurple-father-70173
11/26/2024, 9:45 PMHTTPConnectionPool(host='flyte.local', port=9000): Max retries exceeded with url
purple-father-70173
11/26/2024, 9:46 PMpurple-father-70173
11/26/2024, 9:50 PMpurple-father-70173
11/26/2024, 9:51 PMflyte-the-hard-way
to map minio to flyte.local
?purple-father-70173
11/26/2024, 9:56 PMModuleNotFoundError: No module named 'pandas'