-
Notifications
You must be signed in to change notification settings - Fork 885
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
vault-active service has no endpoints when Vault is uninitialized #326
Comments
Hi @chrisjholly, Once the Vault cluster is initialized and unsealed, Vault will automatically label its pod with the role in the cluster (either active or standby). It makes sense that when the cluster is new no active server exists yet. I think we could make this configurable in case you need the ingress during initialization of the cluster. Would this help? |
All of our Vault interaction uses ingress (including initialise/backup/restore) therefore having ingress up is vital, even if it is not initialised.
This would help. Are you suggesting that the new active service feature is behind a toggle or some other option that may allow the ingress to route to a standby pod when there is no active pod and then return to the active pod when ready? |
@jasonodonnell Any progress on this? |
In addition, vault-standby and vault-ui also don't contain any endpoints. |
@unitto1 it seems you forgot to add
to config and update to vault version with this setting available |
I am running into the same problem as @unitto1. Both @kostyrev can you please point to docs about the config you're referencing as well as which vault version has this available, if possible? I am using helm chart version
apiVersion: v1
kind: Service
metadata:
annotations:
meta.helm.sh/release-name: vault-concourse
meta.helm.sh/release-namespace: default
labels:
app.kubernetes.io/instance: vault-concourse
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: vault
helm.sh/chart: vault-0.7.0
name: vault-concourse-active
namespace: default
spec:
clusterIP: 192.168.9.209
ports:
- name: http
port: 8200
- name: https-internal
port: 8201
publishNotReadyAddresses: true
selector:
app.kubernetes.io/instance: vault-concourse
app.kubernetes.io/name: vault
component: server
vault-active: "true" |
I was able to answer and fix my own issue. Yes, @kostyrev's suggestion of adding this to the config did the trick: service_registration "kubernetes" {} This worked for me with helm chart version automountServiceAccountToken: true Here are the docs I found useful: |
@yashbhutwala and @kostyrev can you guys be more specific? As there is EDIT: So issue I have is the same as OP, nothing behind active service with sealed/not initialized cluster. Pretty sure it worked up to 0.5.0 chart version. |
Having the same problem. For a What is the procedure to initialize / unseal the vault other than using Also what is the use case for the |
Perhaps an initialization or setup scenario of a ha vault does not make sense as anyone with access to the ingress would be able to init it. But if a ha vault somehow goes seal after being unseal it seems to be impossible to unseal it without access to kubernetes since the ingress starts returning HTTP |
I have similar concerns. Any update on this? This kind breaks UX for unsealing/initializing a vault and assumes that the minimum no. of key holders have access to a CLI. Perhaps assign |
We observed the same behaviour. Then you can access Vault from your browser with https://localhost:8200. Proceed with the unsecure certificate error and then unseal your vault. EDIT: My workaround works-ish but you have to do it for each pod. However I found this documentation taht has the true guidelines to bootstrap your cluster https://www.vaultproject.io/docs/platform/k8s/helm/examples/ha-with-raft |
I think https://www.vaultproject.io/docs/platform/k8s/helm/examples/ha-with-raft is the way to go for getting your cluster initialized and setup using If you want to access the UI of sealed nodes, you should set In general, I don't know that it makes sense to have a service of sealed Vault nodes? Since the only operation you can do is unseal them and join them to the cluster, so they would immediately leave such a service. But, it would be easy enough to make such a service and just have it select on |
Since updating to Vault Helm Chart 0.6.0, when you have a new install of Vault which is uninitialized, vault can now no longer be accessed by ingress as there is no leader which can be routed via the "vault-active" kubernetes service.
Is there a know work around for this?
I have listed some of my configuration below:
The text was updated successfully, but these errors were encountered: