knative #211
Replies: 7 comments
-
Hi @stormwalkerec I haven't checked knative in ages so I can't remember much. Can you check the logs of the cloud controller manager in |
Beta Was this translation helpful? Give feedback.
-
Greetings @vitobotta ... As I set master_pool instance_count to 3, it created a loadbalancer for that (test-api) that points only to the masters. I am using the knative install guide from here: I have a yaml file that's using kourier (the one to select if your not sure) NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE in the logs for the cloud controller manager I see this: I0503 21:02:45.066544 1 load_balancers.go:109] "ensure Load Balancer" op="hcloud/loadBalancers.EnsureLoadBalancer" service="kourier" nodes=[test-cax11-master2 test-cax11-pool-small-worker3 test-cax11-pool-small-worker1 test-cax11-pool-small-worker2 test-cax11-master3 test-cax11-master1] Guess they are not communicating properly.... or the knative kourier yaml doesn't have all the info it needs on how to ask for a lb.... I shall keep searching, someone must have a solution somewhere, else hack it till its working. I'm really new to this (kubernetes), but been a dev for 20+ years, so not debugging isn't a chore ..... Thanks for any help/input in finding a potential solution |
Beta Was this translation helpful? Give feedback.
-
The key is this error "either load-balancer.hetzner.cloud/location nor load-balancer.hetzner.cloud/network-zone set". In order for the cloud controller manager to know where to create the load balancer for kourier you need to provide the service with some annotations in the manifest. Otherwise the lb will stay pending forever. So you need to edit the kourier manifest in this section apiVersion: v1
kind: Service
metadata:
name: kourier
namespace: kourier-system
labels:
networking.knative.dev/ingress-provider: kourier
app.kubernetes.io/component: net-kourier
app.kubernetes.io/version: "1.10.0"
app.kubernetes.io/name: knative-serving
spec:
ports:
- name: http2
port: 80
protocol: TCP
targetPort: 8080
- name: https
port: 443
protocol: TCP
targetPort: 8443
selector:
app: 3scale-kourier-gateway
type: LoadBalancer and add at least this annotation: load-balancer.hetzner.cloud/location: <location> See this for other useful annotations. |
Beta Was this translation helpful? Give feedback.
-
using that file with annotations creates a valid load balancer, however, it looks like the issue is that its not linked to an ingress controller? HEALTH STATUS As it uses: apiVersion: operator.knative.dev/v1beta1 (src) Many of the settings dont directly transfer.... It throws errors. making a breaking settings over the past 3 hours, I think i'm heading in right direction. knative, im assuming, is creating an ingress controller, and this is somehow triggering the creation of a load balancer that points to the ingress controler? but because those settings are not set, it fails. the file above just inits the load balancer without the ingress controller, causing health to be zero. Im assuming again, that the ingress controller needs to be moded to send the correct data to the lb creation system... Or, as im a total noob, lb & ingress controller could be totally opposite in how it works :-p Somehow there's I'm assuming some form of linking that must happen.... Will post as a figure stuff out... |
Beta Was this translation helpful? Give feedback.
-
Found this: https://github.com/mohe2015/kubernetes-hetzner/tree/main/knative installed but used updated knative. used kubernetes ui to edit the kourier file and added: now it works as i assume its saposed to. Once I figure out how to set it/patch it without having to edit in ui, will post here |
Beta Was this translation helpful? Give feedback.
-
Success!!! will post a guide here under show and tell, 30ish hours of constant debugging and testing, know a tiny bit more about all this..... |
Beta Was this translation helpful? Give feedback.
-
Trying to get knative working using hetzner-k3s, anyone succeed???
my issue is when they say to install their networking
"kubectl apply -f knative-networking.yaml"
It creates a lb, but never gets an external ip.
I have installed the cluster using ingress-nginx/ingress-nginx, which works 100%
but not finding any guides to either link the two, or set one or the other as the core lb....
any ideas would be appreciated !!
Beta Was this translation helpful? Give feedback.
All reactions