wave-k8s / wave

Kubernetes configuration tracking controller
Apache License 2.0
646 stars 82 forks source link

wave-system namespace finalizer prevents namespace deletion #91

Closed Ghazgkull closed 1 month ago

Ghazgkull commented 3 years ago

The finalizer on the wave-system namespace prevents wave from being cleanly and completely removed from a cluster.

Attempts to delete the wave-system namespace simply hang forever.

wonderhoss commented 3 years ago

Thanks for reporting this.

This is certainly not desired behaviour. I'll need to take a closer look when I get a chance and see about reproducing it.

In the meantime, once the Wave Deployment has been deleted, it should be safe to manually remove the finalizer using kubectl edit or similar and then deleting the namespace as usual.

wonderhoss commented 3 years ago

Just to make sure I'm not making false assumptions, can you confirm how you deployed Wave in the first place? Did you use the Kustomization provided in this repo?

Ghazgkull commented 3 years ago

Sorry for the slow reply. I missed the initial request for info.

We've got K8s manifests in our source control for deploying Wave, which I have to assume are based on the content provided in this repo. We use Terraform with the Kubernetes provider installed, so the manifests look a little different than normal Kustomize files.

Would love to use a Helm chart instead as per https://github.com/wave-k8s/wave/issues/81.

wonderhoss commented 3 years ago

Helm charts are now hosted on Github Pages, please see the current README for details.

Would using those resolve this problem?

github-actions[bot] commented 3 years ago

This issue has been inactive for 60 days. If the issue is still relevant please comment to re-activate the issue. If no action is taken within 7 days, the issue will be marked closed.

jzelinskie commented 3 years ago

I'm still having this issue using these manifests, which are basically just the output of helm template:

```yaml apiVersion: v1 kind: Namespace metadata: name: wave --- apiVersion: v1 kind: ServiceAccount metadata: name: wave namespace: wave --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: wave labels: app: wave rules: - apiGroups: [""] resources: ["configmaps", "secrets"] verbs: ["list", "get", "update", "patch", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["create", "update", "patch"] - apiGroups: ["apps"] resources: ["deployments", "daemonsets", "statefulsets"] verbs: ["list", "get", "update", "patch", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: wave labels: app: wave roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: wave subjects: - kind: ServiceAccount name: wave namespace: wave --- apiVersion: apps/v1 kind: Deployment metadata: name: wave namespace: wave annotations: wave.pusher.com/update-on-config-change: "true" spec: selector: matchLabels: app: wave template: metadata: labels: app: wave spec: serviceAccountName: wave containers: - name: wave image: quay.io/wave-k8s/wave:v0.5.0 ```
jabdoa2 commented 1 month ago

Fixed by #154

jabdoa2 commented 1 month ago

@toelke this one can be closed. I guess I should have commented in the PR instead of here.