We’re rewarding the question askers & reputations are being recalculated! Read more.

Hot answers tagged

5

Back when Kubernetes announced the new StatefulSet feature with K8s v1.5 (converting it from the old PetSet name), they put out a really good blog post walking through an example of its usage: https://kubernetes.io/blog/2016/12/statefulset-run-scale-stateful-applications-in-kubernetes/ The first paragraph has a really good description of differentiating ...


5

Running two tillers does not make it HA. There is an open issue at the moment.


4

Based on this Github documentation it is possible to pull a docker image from a private docker registry: values.yaml imageCredentials: name: credentials-name registry: private-docker-registry username: user password: pass templates/imagePullSecret.yaml {{- define "imagePullSecret" }} {{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values....


3

The problem was that nodes, while registered with kubeadm init were providing their private IPs to the cluster master. This caused problems, because master was trying to reach 192.0.*.* addresses which were not resolved as nodes from it's point of view. I needed to edit /etc/systemd/system/kubelet.service.d/10-kubeadm.conf and specify public IP of the node ...


3

You have found a Kubernetes issue #22770, where there is a workaround mentioned here and it goes like follows: What you're experiencing is a known issue with k8s where for some operations it expects to be able to resolve your node names in the global DNS. And suggested a work around would be to: Add entries to /etc/hosts on the master mapping ...


2

Yes this happens frequently when debugging helm releases. The problem happens when a previously failed release is preventing you from updating it. If you run helm ls you should see a release in state FAILED. You might have deleted it in which case it might show up with helm ls -a. Such a release cannot be upgraded using the normal approach of having helm ...


2

I believe this is an current bug in k3s that upstream DNS is hardcoded to 1.1.1.1. this should be resolved shortly https://github.com/rancher/k3s/issues/53


1

This can happen with releases in FAILED state as mentioned by simbo1905 in her/his answer. Another case is if there's a previously deleted but not purged release with the same name. Doing another delete with the purge option on the release will free the name for reuse. helm ls -a helm ls -a | grep -e NAME -e name_of_release helm delete --purge ...


1

See my answer here: Ran into this today when trying to use Garden.io for a cluster running in Jelastic. Found the solution in this Github comment: First acquire a local binary for Tiller (server-version of Helm), either by compiling or by downloading it from the release page. Then run: $ export HELM_HOST=":44134" $ tiller -listen ${...


1

A co-worker ended up taking over deploying this a few days ago and managed to get it working. I'm not certain what he did differently, but I know discovered very similar issues I was facing with other Helm charts boiled down to the database they depended on not deploying properly which caused the other components to fail during initialization. Database ...


1

I learned that it's not required to set the ingress class to nginx as I did in kubernetes.io/ingress.class: nginx. All annotations prefixed with nginx.ingress.kubernetes.io apply to the default Kubernetes ingress. Setting the timeouts is also not required. The only important annotation is nginx.ingress.kubernetes.io/proxy-body-size: "0" because the default ...


1

Check https://github.com/helm/helm/issues/3130, this might help. I followed the instruction in the post: kubectl --namespace kube-system create serviceaccount tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller helm init --service-account tiller --upgrade This works for me.


1

Finnaly, I found the solution, thanks to @simbo1905. All that I need to fix that problem: values.yaml Child Chart 1 (or two) postgresql: nameOverride: chart-1-postgres In the Child Chart 2 nameOverride became to chart-2-postgres.


1

How I see there is two options (from my exp): Use configuration for provider. https://www.terraform.io/docs/providers/helm/index.html, there is option to install tiller. Use prefabricated modules, for example: https://github.com/sagikazarmark/terraform-tiller https://registry.terraform.io/modules/Vidimensional/tiller/kubernetes/0.0.1


1

Checkout flux(https://github.com/weaveworks/flux/), it introduces a new kubernetes crd called HelmRelease, in which you can include your helm release info(like the chart repo, name, version, namespace, and values. You can even pull your charts from a git repo). The flux controller monitors a git repo of your choice(you can monitor a path inside the repo as ...


1

My 2 cents. We have similar requirement like you do. We end up having multiple values files in the form of values-<namespace>.yaml and it should come with the defaults set to values.yaml We also have some shell scripts to deploy to the namespace. Something like this deploy.sh --namespace app. It is not without its problem, the number of files are ...


1

Usually to access an external API you can just use its URL. But you can create a Service for it if you like, the type of service should be ExternalName as described in the documentation https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types


1

A service in kubernetes is (mostly) used for internal communication. If you want to access an external resource by domain/ip you can just do so. If you have an IP address and you would like to have some sort of domain connected to it, you could you am service with the external name field set to the up address (we use that for database purposes). An endpoint ...


1

you can use terraform to install helm charts, you dont have to obviously something is probably wrong with your kubernetes connection, check if its actually working


1

ibuildthecloud9 gave me the right hint. Since the github issue doesn't describe how to midify the dns, I figured it out and want to document it here in case someone need to change it, too. It's stored in the configmap coredns as Corefile: proxy . 1.1.1.1 You need to replace this by your dns server (192.168.0.19 in my case). It could be done manually using ...


1

Okay the answer to this is that you can set spec.serviceAccountName on the dc and the secrets are mounted. Annoyingly the same does not hold true for BuildConfig objects. They have an inconsistently named spec.serviceAccount. Setting that doesn’t mount any secrets associated with the sa. It also means your build isn’t an “image puller” until you explicitly ...


1

Use a docker image within your pipeline that has helm and other tools installed. To quote the docs: Pipeline is designed to easily use Docker images as the execution environment for a single Stage or the entire Pipeline. Meaning that a user can define the tools required for their Pipeline, without having to manually configure agents. Practically ...


1

Helm is a Kubernetes tool so this answer assumes you are deploying to Kubernetes or OpenShift not Docker Swarm. If you are using Helm well then I don't think it is particularly important what build pipeline tech you are using to invoke it. I think what is more important is how you manage all your configuration within Git and how you structure the Helm ...


1

I ended up using stolon for its automatic leader election and fail over handling. Crunchy Data offers small building blocks so there is a lot of work to do to put them all together while stolon has a ready helm chart. But I didn't try patroni since stolon worked just fine.


1

You can use helm get manifest <RELEASE_NAME> to fetch the kubernets manifests and you can use helm get values <RELEASE_NAME> to get the values.yaml from the cluster. But I don't think there is any way to get the chart files back. Sorry. PS: Please replace <RELEASE_NAME> with your release name.


Only top voted, non community-wiki answers of a minimum length are eligible