-
-
Notifications
You must be signed in to change notification settings - Fork 137
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
Kubernetes 1.16 API breaking changes #22
Comments
Thank you @mar1n3r0 for bringing my attention to this, to narrow down the specifics of it, can you tell me if this happens on a fresh clone of this repository, and if not have you tried using I will try to reproduce/debug this myself today or tomorrow after work. Will share my experience soon. Possibly update of charts to call newer API will be required. If you have anything that you would like to push, you are more then welcome to do so. Contributions bring more value to the repository and encourages others to contribute as well. |
Most welcome @vardius . It happens on a fresh clone following the install instructions as per the guide. I am running make-helm-dependencies before make helm-install. I have the option to lock the kubernetes version in minikube so now I am testing with v1.14.10 which is the latest before the new API. This results in CrashLoopBackOffs for quite a lot of containers. Most of them seem to be due to service account issues for example kubernetes-dashboard complaining that it is not running in kube-system namespace. Can you elaborate with which version of kubernetes it was originally created and tested so we can debug further together ? |
I will let you know asap, can't verify this right now as I am on my work station. However once I get home I will let you know exact version of Kubernetes cluster I've got and if that issue happens. (I suppose it will). Right now I can tell you that I've been using Docker for Mac with Kubernetes. Edit:
|
Yeah my bad I overlooked that. I will try all major versions between 1.11 and 1.14.10 on a fresh clone and report back. Edit: A question - were your tests done directly on a cloud provided Kubernetes instance or locally ? |
All the tests I have performed was locally only, deploying to my local Kubernetes cluster. It is better to use specific version instead of I believe some helm chart templates need to be updated to fix Kubernetes 1.16 API breaking changes. Following the tips in the article you linked.
Probably need to change v1 to apps/v1 ?
Need to make sure also this are correct:
We could generate current deployment templates with helm as they are right now |
I have locked
After thoroughly inspecting the
I believe it should be
This one is fine, the ingress object definition didn't change.
I belive it should be cert-manager.io/v1alpha2. See:
I think all these remain with a tag v1 as there were no warnings about them.
This one is apps/v1 yes.
So far though the main issues are with external charts like: And heapster meanwhile was deprecated in favor of metrics-server: |
The migrations directory is not copied to the final image. Expected migration files for example go-api-boilerplate/helm/app/values.yaml Line 184 in 20fe029
Copied files are: go-api-boilerplate/cmd/auth/Dockerfile Line 38 in 20fe029
Doing so should solve the issue, with migrations FROM scratch
COPY --from=buildenv /go/bin/app /go/bin/app
+ COPY --from=buildenv /app/migrations/"$BIN" /migrations/"$BIN"
ENTRYPOINT ["/go/bin/app"] This needs to be done for both |
I did some fixes at this pr #25. Please verify if it matches your changes. Please see versions and testing process here #23 (comment) |
Hello and thanks for the fantastic boilerplate. I am using it for a starter point for my own project and currently testing with minikube locally.
I will try to summarize my discoveries so far:
See: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
Example after running helm make-install originally:
As you can see with the current script it's impossible to see which chart specifically failed. Do you observe the same behavior by any chance ?
2. Because of that I have heavily modified the helm scripts to actually get latest packages from helm hub rather than use the archives included in the repo.
3. Even some of the latest stable charts are not updated as of yet to 1.16 guidelines. Namely magic-namespace and heapster so far. Due to this I have disabled those for the time being
4. Since I am installing the charts one by one and not as one whole package like the original I am facing some unexpected issues. Mostly some kubernetes services names don't match nginx ingress definitions. For example: go-api-boilerplate.user, go-api-boilerplate.auth etc... I see them as microservice-user, microservice-auth in my services list.
As soon as I have some decent workaround for the hardcoded charts I can create a PR, meanwhile I would appreciate if you had some ideas how to make those dependencies more flexible instead of tgz packages in the repo.
Originally posted by @mar1n3r0 in #15 (comment)
The text was updated successfully, but these errors were encountered: