Skip to content
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

compatibility issue with kubernetes 1.16 and above #472

Open
delcroip opened this issue Mar 16, 2022 · 5 comments
Open

compatibility issue with kubernetes 1.16 and above #472

delcroip opened this issue Mar 16, 2022 · 5 comments

Comments

@delcroip
Copy link

Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "extensions/v1beta1"

https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement/

same issue on other system for reference
vmware-archive/tutorials#23
helm/helm#6969
pegasystems/pega-helm-charts#336

@mdebarros
Copy link
Member

Hi @delcroip,

Thanks for creating the issue.

Would you be so kind to provide more information on your target Kubernetes platform (i.e. version, etc)?

Also, I would ask you to verify your pre-requisites as per the following documentation: https://github.com/mojaloop/documentation/tree/master/legacy/deployment-guide#1-pre-requisites

@delcroip
Copy link
Author

delcroip commented Mar 16, 2022

Indeed it is mentioned as a prerequisite but minikube provide this kind of warning

minikube start --kubernetes-version v1.15.5
* minikube v1.25.2 on Ubuntu 20.04 (amd64)
! Specified Kubernetes version 1.15.5 is less than the oldest supported version: v1.16.0
! You can force an unsupported Kubernetes version via the --force flag

Is there any plan to support v1 instead of v1beta1 ?

br

@mdebarros
Copy link
Member

mdebarros commented Mar 18, 2022

Hey @delcroip,

This is because you are running a supported Kubernetes version for your deployed Mojaloop version.

Please carefully read the pre-requisites, specifically the Recommended Versions part where we include suggested versions of Mojaloop which has been tested against a Kubernetes version: https://github.com/mojaloop/documentation/tree/master/legacy/deployment-guide#1-pre-requisites

I.e. For the latest versions v13.x, we recommend the following:

    Mojaloop Helm Chart release v13.x supports Kubernetes v1.13 - v1.20.

I recommend you install v1.20 as Mojaloop has been tested extensively against this version. I have also personally tested Mojaloop with Kubernetes v1.21 and have had no issues.

For K8s support of v1.22+, we have a pending issue on our backlog (mojaloop/project#2352) which will be addressed in Mojaloop Helm Release v14.

However, the Mojaloop community would love to have any contributions to the v13.x versions to improve the Kubernetes support for v1.22+ if you are looking to help.

For reference, this is how we currently handle the Ingress version selection in v13.x --> https://github.com/mojaloop/helm/blob/master/centralledger/chart-service/templates/ingress.yaml#L3

In v14 (which is a complete re-work of our Helm charts), we not only support the API version selection (https://github.com/mojaloop/charts/blob/master/mojaloop/chart-service/templates/ingress.yaml#L2) based on the underlying K8s API version, but also the ingress structure (https://github.com/mojaloop/charts/blob/master/mojaloop/chart-service/templates/ingress.yaml#L40) changes introduced in k8s v1.22+.

@delcroip
Copy link
Author

delcroip commented Mar 21, 2022

Hi, thanks you for this answer,

but with Kube 1.20, I still get the error

Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta2", unable to recognize "": no matches for kind "StatefulSet" in version "apps/v1beta2"]

here my install script on ubuntu



#installl or change to version 1.20
sudo snap install microk8s --classic --channel=1.20/stable
#sudo snap refresh microk8s --classic --channel=1.20/stable
# starting kubebernetes
sudo microk8s start

sudo microk8s enable helm3
#init helm 
sudo microk8s helm3 init --stable-repo-url=https://charts.helm.sh/stable  --upgrade --tiller-image ghcr.io/helm/tiller:v2.16.12
# nginx ingress
sudo microk8s helm3 repo add nginx-stable https://helm.nginx.com/stable
sudo microk8s helm3 repo update

# enable kube dashboard
sudo microk8s enable dashboard

#nginx
sudo microk8s enable ingress
sudo microk8s helm3 repo add nginx-stable https://helm.nginx.com/stable
sudo microk8s helm3 repo update
sudo microk8s helm3 install ingress-nginx nginx-stable/nginx-ingress

# mojaloop
sudo microk8s helm3 repo add mojaloop   https://mojaloop.io/helm/repo/
sudo microk8s helm3 repo update
sudo microk8s helm3 --namespace openimis-mojaloop install moja mojaloop/mojaloop --version v13.1.0


@delcroip
Copy link
Author

I tried in the meantime with minikube

Some mojaloop pod image were not pulled, after investigation, all curl query on the calling pod was failing because of a certificate validation issue (but no error about the "extensions/v1beta1" )

I could make curl work on tha pod by adding the --cacert with a pem file from internet but I could not tell mojaloop deployment to use this specific cacerts.pem

br

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants