Helmut Januschka
Helmut Januschka

Reputation: 1636

Kubernetes - validate deployments

I have a namespace namespace - which has ~10-15 deployments. Creating a big yaml file, and apply it on a "deploy".

How do i validate, wait, watch, block, until all deployments have been rolledout ?

currently i am thinking of:

what are the status'es of deployments, is there already a similar tool that can do it? https://github.com/Shopify/kubernetes-deploy is kind of what i am searching for, but it forces a yml structure and so on.

what would be the best approach?

Upvotes: 1

Views: 358

Answers (4)

P Ekambaram
P Ekambaram

Reputation: 17689

use --dry-run option in the apply/create command to check the syntax.

Upvotes: 0

Nicolas Pepinster
Nicolas Pepinster

Reputation: 6269

Set a readiness probe and use kubectl rollout status deployment <deployment_name> to see the deployment rollout status

Upvotes: 2

Shai Katz
Shai Katz

Reputation: 1863

You probably want to use kubectl wait https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#wait

It lets you wait for a specific condition of a specific object In your case:

kubectl -n namespace \
             wait --for=condition=Available --timeout=32s \     
             deployment/name

Upvotes: 1

Vasilii Angapov
Vasilii Angapov

Reputation: 9042

You'd better use Helm for managing deployments. Helm allows you to create reusable templates that can be applied to more than one environment. Read more here: https://helm.sh/docs/chart_template_guide/#getting-started-with-a-chart-template

You can create one big chart for all your services or you can create separate Helm charts for each your service.

Helm also allows you to run tests after deployment is done. Read more here: https://helm.sh/docs/developing_charts/#a-breakdown-of-the-helm-test-hooks

Upvotes: 1

Related Questions