openfaas / faas-netes

Serverless Functions For Kubernetes
https://www.openfaas.com
MIT License
2.13k stars 472 forks source link

beta.kubernetes.io/arch label has been deprecated #723

Closed thedemoncat closed 3 years ago

thedemoncat commented 3 years ago

Can`t deploy openfaas in kubernates cluster: 0/1 nodes are available: 1 node(s) didn't match node selector.

Expected Behaviour

Openfaas is successfully deployed with arkade install openfaas --load-balancer

Current Behaviour

After starting openfaas, the pods do not start, because they do not find the required node label

>kubectl get pods -n openfaas
NAME                                 READY   STATUS    RESTARTS   AGE
alertmanager-7b8844bfb9-vp8jh        0/1     Pending   0          2m19s
basic-auth-plugin-6cddf6b57b-d586r   0/1     Pending   0          2m19s
faas-idler-76d4dd95d4-6xqkm          0/1     Pending   0          2m19s
gateway-66c5486f98-s9hhz             0/2     Pending   0          2m19s
nats-54d7bccf64-hcdlc                0/1     Pending   0          2m19s
prometheus-6b67fb5666-q5h8w          0/1     Pending   0          2m19s
queue-worker-cb4576c49-jw28q         0/1     Pending   0          2m19s
>kubectl describe pods -n openfaas alertmanager-7b8844bfb9-vp8jh

Node-Selectors:  beta.kubernetes.io/arch=amd64
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 120s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 120s
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  35s (x5 over 2m37s)  default-scheduler  0/1 nodes are available: 1 node(s) didn't match node selector.
...

>kubectl get node cerys-node-i3qt9 --show-labels
NAME               STATUS   ROLES    AGE   VERSION    LABELS
cerys-node-i3qt9   Ready    <none>   8d    v1.16.13   beta.kubernetes.io/instance-type=08853c81-456c-40f8-82a6-c6c3035c0da2,beta.kubernetes.io/os=linux,failure-domain.beta.kubernetes.io/region=ru-7,failure-domain.beta.kubernetes.io/zone=ru-7a,kubernetes.io/arch=amd64,kubernetes.io/hostname=cerys-node-i3qt9,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=ru-7a,zone=MSK

Possible Solution

beta.kubernetes.io/arch label has been deprecated. Please use kubernetes.io/arch instead. link

Your Environment

kubernates

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T11:26:42Z", GoVersion:"go1.15", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.13", GitCommit:"39a145ca3413079bcb9c80846488786fed5fe1cb", GitTreeState:"clean", BuildDate:"2020-07-15T16:10:14Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
alexellis commented 3 years ago

Hi @TheDemonCat PRs are welcome, however we have not encountered such issues with Kubernetes on Raspberry Pi.

Alex

thedemoncat commented 3 years ago

This is not a Raspberry PI. These are the Yandex cloud provider servers. The problem is that you have an outdated API on the chart.

alexellis commented 3 years ago

What CPU architecture are they then? I have personally tested on armhf, arm64 and Intel with no scheduling issues?

PRs are welcome like I said.

thedemoncat commented 3 years ago

arm64. As for the PR, I understood. But unfortunately I will not do it in the near future. I have temporarily switched to other tasks for now. But I think I'll be back a little later

Waterdrips commented 3 years ago

note to self: https://kubernetes.io/docs/reference/labels-annotations-taints/

LucasRoesler commented 3 years ago

@alexellis @thedemoncat and @Waterdrips i think we can safely close this now that all of our images are multi-arch and we have removed the tolerations from the chart, see https://github.com/openfaas/faas-netes/pull/782

alexellis commented 3 years ago

If you're happy then go ahead and /close

LucasRoesler commented 3 years ago

/close