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

Installation error on Google Cloud GKE Autopilot #2249

Closed
Splizard opened this issue Sep 1, 2021 · 4 comments
Closed

Installation error on Google Cloud GKE Autopilot #2249

Splizard opened this issue Sep 1, 2021 · 4 comments
Labels
kind/bug These are bugs. wontfix Sorry, but we're not going to do that.

Comments

@Splizard
Copy link

Splizard commented Sep 1, 2021

What happened:
I followed the guide on https://cloud.google.com/game-servers/docs/quickstart however instead of the suggested cluster configuration, I decided to create a Google Cloud Autopilot cluster, when I tried to install Agones I recieved this error from:
kubectl apply -f https://raw.githubusercontent.com/googleforgames/agones/release-1.16.0/install/yaml/install.yaml

Error from server (Forbidden): error when retrieving current configuration of:
Resource: "admissionregistration.k8s.io/v1, Resource=mutatingwebhookconfigurations", GroupVersionKind: "admissionregistration.k8s.io/v1, Kind=MutatingWebhookConfiguration"
Name: "agones-mutation-webhook", Namespace: ""
from server for: "https://raw.githubusercontent.com/googleforgames/agones/release-1.16.0/install/yaml/install.yaml": mutatingwebhookconfigurations.admissionregistration.k8s.io "agones-mutation-webhook" is forbidden: User cannot get resource "mutatingwebhookconfigurations" in API group "admissionregistration.k8s.io" at the cluster scope: GKEAutopilot authz: cluster scoped resource "mutatingwebhookconfigurations/" is managed and access is denied

Environment:

  • Agones version: 1.16
  • Kubernetes version (use kubectl version):
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.1", GitCommit:"632ed300f2c34f6d6d15ca4cef3d3c7073412212", GitTreeState:"clean", BuildDate:"2021-08-19T15:45:37Z", GoVersion:"go1.16.7", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.8-gke.900", GitCommit:"28ab8501be88ea42e897ca8514d7cd0b436253d9", GitTreeState:"clean", BuildDate:"2021-06-30T09:23:36Z", GoVersion:"go1.15.13b5", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.22) and server (1.20) exceeds the supported minor version skew of +/-1
  • Cloud provider or hardware configuration: Google Cloud GKE Autopilot
  • Install method (yaml/helm): yaml

Questions:

  • Is Agones meant to be support Google Cloud GKE Autopilot?
  • Could this be caused by my kubectl version?
@Splizard Splizard added the kind/bug These are bugs. label Sep 1, 2021
@Splizard
Copy link
Author

Splizard commented Sep 1, 2021

May I add that besides this error, it would appear that agones has been mostly installed and is running:
kubectl get pods --namespace agones-system

NAME                                 READY   STATUS    RESTARTS   AGE
agones-allocator-56ffb9b789-q45hn    1/1     Running   0          118m
agones-allocator-56ffb9b789-wk8zc    1/1     Running   0          118m
agones-allocator-56ffb9b789-xkc6l    1/1     Running   0          118m
agones-controller-6454b46b8d-m44rx   1/1     Running   0          118m
agones-ping-68b48cd886-hph9s         1/1     Running   0          118m
agones-ping-68b48cd886-jvfjb         1/1     Running   0          118m

@markmandel markmandel added the wontfix Sorry, but we're not going to do that. label Sep 1, 2021
@markmandel
Copy link
Collaborator

There's a variety of reasons why GKE autopilot won't work - the primary one being that they do arbitrarily delete nodes, since they are targeted at stateless workloads.

So unfortunately, I have to close this as wontfix.

@Splizard
Copy link
Author

Splizard commented Sep 1, 2021

For the gameservers I have in mind they are tolerant to being arbitrarily deleted and can continue to function as long as they shortly reallocated, if they are given a signal they can even gracefully shutdown without disruption and migrate to a replacement gameserver. This makes the Autopilot system a good fit for my use case.

How stateful are the agones components?
What other work would be required to be compatible with Autopilot?

I'd like to take a look at this if possible, I'm relatively new to the specifics of Kubernetes so I'd be grateful for any pointers on this.

@markmandel
Copy link
Collaborator

It's also not possible because Autopilot doesn't support core functionality of Agones such as hostPorts, mutation and validation webhooks, etc.

Sorry, there's no way for it to work. It's not built for this kind of workload.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug These are bugs. wontfix Sorry, but we're not going to do that.
Projects
None yet
Development

No branches or pull requests

2 participants