Closed andreasjacobi closed 2 years ago
got same issue.
Same issue here as well. Is anyone looking at this? Does any additional information need to be provided?
@andreasjacobi CIS is not validated on Cilium CNI. @morishitaf5 and @writemike do you see this issue the same Cilium based setup. Unable to reproduce this issue. However, delete IPAM CRD and restart CIS. after restart CIS will create it again.
@trinaths Should the CNI affect the operation of CIS? Anyway I tried to delete the CRD and restart CIS and IPAM but that just gave me this:
E1102 09:54:45.566901 1 reflector.go:138] github.com/F5Networks/f5-ipam-controller/pkg/ipammachinery/informers.go:35: Failed to watch *v1.IPAM: failed to list *v1.IPAM: the server could not find the requested resource (get ipams.fic.f5.com)
The CRD is not re-created.
@trinaths I'm using a k3s deployment with flannel. Built using the "NGINX Ingress Controller Lab" UDF.
After a few f5-ipam-controller and k8s-bigip-ctlr pods restarts the error went away and IngressLink with ipamLabels started working. Wish I knew what fixed it. Anything I can provide here to help @andreasjacobi ?
CIS ARGs:
args: [
"--bigip-username=$(BIGIP_USERNAME)",
"--bigip-password=$(BIGIP_PASSWORD)",
"--bigip-url=https://10.1.20.10",
"--insecure=true",
"--custom-resource-mode=true",
"--bigip-partition=kubernetes",
"--pool-member-type=cluster",
"--flannel-name=/Common/flannel_vxlan",
"--log-level=INFO",
"--as3-validation=true",
"--log-as3-response=true",
"--ipam=true",
"--disable-teems"
]
IPAM ARGs:
args:
- --orchestration
- kubernetes
- --ip-range
- '{"Production":"10.1.10.15-10.1.10.16","Default":"10.1.10.17-10.1.10.18"} '
- --log-level
- DEBUG`
k3s node info:
kg nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
bigip1 NotReady <none> 7h58m <none> <none> <unknown> <unknown> <unknown>
knode2 Ready <none> 2d18h v1.21.5+k3s2 10.1.20.111 <none> Ubuntu 18.04.1 LTS 4.15.0-1021-aws containerd://1.4.11-k3s1
knode1 Ready <none> 2d18h v1.21.5+k3s2 10.1.20.110 <none> Ubuntu 18.04.1 LTS 4.15.0-1021-aws containerd://1.4.11-k3s1
kmaster Ready control-plane,master 2d18h v1.21.5+k3s2 10.1.20.109 <none> Ubuntu 18.04.1 LTS 4.15.0-1021-aws containerd://1.4.11-k3s1
@writemike Thanks for your effort. I couldn't get it to work so I gave up on IPAM for now. I noticed that in my lab I run k8s 1.22 which I guess is not supported so that could be something. I'm not sure if @morishitaf5 made any progress?
I have quite the exact same setup (except k3s v.1.19) like @writemike with the exact same error. Any help/solution would be great. Everything is working, except services tpye LoadBalancer. :(
I have the same error and I cannot work around it. I get it whether I am using a VirtualServer or a IngressLink.
@writemike you mentioned that the error went away after some restarts. Is it possible you rolled back to FIC version 0.1.4 and edited your clusterrole and ipam crd schema accordingly to make this work?
FIC Build: f5networks/f5-ipam-controller:0.1.5 CIS Build: f5networks/k8s-bigip-ctlr:2.6.0 BIGIP version: 16.1.1 - shouldnt matter, error is in K8s AS3 version: 3.25 - shouldnt matter, error is in K8s Orchestration: K8S Additional Setup details: AKS
@andreasjacobi - Is CIS upgraded in your setup from an older version to 2.6 ? if so, please delete the ipam crd and restart CIS. CIS will recreate that again.
@trinaths - You are correct, it is upgraded from older version. I just now tried deleting the CRD and restart the CIS but it doesn't re-create the CRD. Now I just get the CIS error message:
E1201 08:08:18.868382 1 reflector.go:138] github.com/F5Networks/f5-ipam-controller/pkg/ipammachinery/informers.go:35: Failed to watch *v1.IPAM: failed to list *v1.IPAM: the server could not │
│ find the requested resource (get ipams.fic.f5.com)
kubectl get crd ipams.fic.f5.com Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ipams.fic.f5.com" not found
I tried uninstall and re-install the controller using Helm but the CRD doesn't get installed.
@andreasjacobi can you share the come log rather than this 1 line from log.
I used CIS 2.6.1 at begining. If I delete the IPAM CRD it will re-create after a CIS restart. But IPAM throw the error message above. :(
@trinaths I can easily reproduce this error but cannot work around it. I've emailed my complete logs from CIS and FIC to you, and supporting resource definitions.
@trinaths Logs emailed to you.
Update. @mdditt2000 helped me solve this. FIC and CIS should both run with the same svc account. I had created a svc account for FIC and another for CIS, with 2 different clusterroles and 2 different clusterrolebindings. After fixing this, my errors went away. I created a small repo with a working demo: https://github.com/mikeoleary/ipam-troubleshooting
@mikeoleary glad that resolved the issue. Thanks @nandakishorepeddi fir your help!!
Issue is a misconfiguration of the ServiceAccount and ClusterRoleBindings. I have created the following YouTube video and document on how to troubleshoot and resolve this configuration issue.
https://github.com/mdditt2000/kubernetes-1-19/blob/master/cis%202.7/ipam/README.md
CIS 2.7 documentation will be updated for additional information. Closing this issue as resolved.
Setup Details
FIC Version : 0.1.5 CIS Version : 2.6.0
FIC Build: f5networks/f5-ipam-controller:0.1.5 CIS Build: f5networks/k8s-bigip-ctlr:2.6.0
BIGIP Version: Big IP 15.0
AS3 Version: 3.28
Orchestration: K8S
Orchestration Version:
Additional Setup details: Cilium
Description
Deploying a type loadbalancer with the IPAM label results in the following FIC error: [ERROR] Unable to Update IPAM: kube-system/f5-bigip-ctlr.k8s.ipam Error: ipams.fic.f5.com "f5-bigip-ctlr.k8s.ipam" not found
And due to the above the CIS message: IP address not available, yet, for service service: nginx/nginx-lb
Steps To Reproduce
CIS is installed using Helm and all objects that does not require FIC works when manually specifying the IP. Roles are updated according to the doc.
kubectl describe clusterrole f5-bigip-ctlr
kubectl describe clusterrole ipam-ctlr-clusterrole
kubectl describe ipam -n kube-system
kubectl describe svc -n nginx
FIC logs: