-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CCM-linode shows error when installing Ingress Nginx #252
Comments
Hi @johnlai2004 , it looks like you are not using LKE and are trying to setup k8s on linode VMs. One of the requirements for using CCM with nodebalancers (k8s loadbalancers) is to have linode specific private ip assigned to the linode. The guide referenced is for LKE specifically which has the private subnet. Not sure if you have 192.168.XX subnet assigned to your linodes. We plan to deprecate this in future, but for now its a requirement. This option is available when a linode is getting provisioned for the first time, there is an option to assign private ip to it (create linode -> Add ons (private ip)). This private ip is used by CCM to configure backends in linode specific nodebalancer when its created. Can you try provisioning a linode with private ip selected as well and then installing kubeadm and CCM. Make sure once the linode comes up for the first time, it has both public and private ip's set on eth0. I'll open a documentation ticket to add this requirement in the CCM install on unmanaged k8s clusters for using nodebalancers. |
Yes! This worked! So basically I only made 3 changes to my instructions:
@rahulait - you said you are deprecating "this" feature in the future. Can you clarify what "this" refers to? I plan to create unmanaged K8 clusters with linode in the future, and i want to be able to use ingress-nginx. Will this still be possible in the future? |
We plan to deprecate use of private ips as we move towards VPCs. Its not official if and when it will be deprecated, but might happen in few years as nodebalancer support without private ips is released. Instead of manually setting up everything from scratch, another option you can look at is Cluster API Provider Linode (CAPL). It supports deploying unmanaged kubeadm, rke2 or k3s clusters on linode. Only requirement is to learn using cluster-api and have a management cluster deployed somewhere (laptop, remote VM, etc) which can then spin up and manage child k8s clusters on linode. |
General:
This is a follow up to this earlier ticket: #250
Even though the earlier ticket is resolved, the CCM is still not publishing an external IP that can be used by an Ingress Nginx Controller. Here's my question:
I am trying to get ingress-nginx-controller to work in an unmanaged kubernetes system. I followed these guides:
https://www.linode.com/docs/guides/deploy-kubernetes-cluster-using-kubeadm/
https://github.com/linode/linode-cloud-controller-manager?tab=readme-ov-file#to-deploy-ccm-linode-run-the-following-command
https://www.linode.com/docs/guides/deploy-nginx-ingress-on-lke/
But the end result is always this:
Notice the
ccm-linode-9s4fz
gives an error. And myingress-nginx-controller
EXTERNAL-IP is always stuck in<pending>
.I made an 8 minute video showing and explaining step by step what I was doing:
https://www.youtube.com/watch?v=D-dTveBpDuY
To summarize what I did in the video, i performed these steps: (all *.sh files are attached here as *.txt files, so you can rename the extensions)
kube1
andkube2
../install-k8-and-start.sh
on kube1 (for this *.sh, replace the IPs on line 6 with your machine IPs)./install-k8.sh
on kube2 (for this *.sh, replace the IPs on line 6 with your machine IPs).--cloud-provider=external
and did asystemctl restart kubelet
on both kube1 and kube2../install-helm-and-ccm.sh
on kube1. (make sure to replace the api token and region with yours)helm install ingress-nginx ingress-nginx/ingress-nginx;
on kube1.Then I get the issues above where the
ccm-linode-9s4fz
pod gives an error, and theingress-nginx-controller
never gets an IP address.EXPECTED BEHAVIOUR
the ingress-nginx-controller should get an external ip
install-helm-and-ccm.txt
install-k8.txt
install-k8-and-start.txt
Environment Specifications
Ubuntu 22.04 and Ubuntu 24.04
The text was updated successfully, but these errors were encountered: