Comments (5)
@dudicoco we will try to implement it. I will let you know as soon we have tested in our pipeline.
from kubedog.
@daviddelucca Thank you for your contribution into the project and for your implementation of supporting canary releases!
I have been looking for a tool that would be able to provide the status of canary releases performed by Flagger for a long time.
However, I faced with strange behavior of it. For example, I have a test canary release named podinfo
in test
namespace:
% kubectl -n test get canary
NAME STATUS WEIGHT LASTTRANSITIONTIME
podinfo Succeeded 0 2021-09-17T11:46:06Z
% kubectl -n test describe canary podinfo
..........
Status:
Canary Weight: 0
Conditions:
Last Transition Time: 2021-09-17T11:46:06Z
Last Update Time: 2021-09-17T11:46:06Z
Message: Canary analysis completed successfully, promotion finished.
Reason: Succeeded
Status: True
Type: Promoted
Failed Checks: 0
Iterations: 0
Last Applied Spec: 5b7578bd5f
Last Transition Time: 2021-09-17T11:46:06Z
Phase: Succeeded
Tracked Configs:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Synced 33m flagger New revision detected! Scaling up podinfo.test
Normal Synced 32m flagger Starting canary analysis for podinfo.test
Normal Synced 32m flagger Pre-rollout check acceptance-test passed
Normal Synced 32m flagger Advance podinfo.test canary weight 25
Normal Synced 31m flagger Advance podinfo.test canary weight 50
Normal Synced 30m flagger Copying podinfo.test template spec to podinfo-primary.test
Normal Synced 29m flagger Routing all traffic to primary
Normal Synced 28m flagger Promotion completed! Scaling down podinfo.test
According to the output above canary releases with the help of Flagger are working properly. But kubedog v0.6.2, which should contain your solution already, shows the following:
$ echo '{"Canaries":[{"ResourceName":"podinfo","Namespace":"test"}]}' | kubedog multitrack
┌ Status progress
│ CANARY STATUS WEIGHT LASTUPDATE
│ podinfo 0 0001-01-01 00:00:00 +0000 UTC
└ Status progress
┌ Status progress
│ CANARY STATUS WEIGHT LASTUPDATE
│ podinfo 0 0001-01-01 00:00:00 +0000 UTC
└ Status progress
So kubedog
does not show status of canary release and the time of its last update.
Besides that it does not monitor the status because it does not get changed when canary deploy is going.
Could you point me to a misconfiguration if it is somewhere or point the direction that I should dig in for figuring out the cause of the wrong behavior?
Thank you in advance.
from kubedog.
echo '{ "Canaries": [ { "ResourceName": "mycanary", "Namespace": "myns" } ] }' | go run main.go multitrack
from kubedog.
thanks @daviddelucca!
from kubedog.
@dudicoco @daviddelucca Check this out, you can now use helm built into werf, which uses kubedog, to automatically watch all flagger canaries found in the helm chart (werf installation):
. $(trdl use werf 1.2 alpha)
werf helm upgrade --install --wait myrelease CHART
from kubedog.
Related Issues (20)
- ReplicaSet failures are not detected HOT 1
- Support Argo Rollouts resources HOT 1
- pod names are cut off in status progress HOT 1
- Links to binary files in release message
- debug multitrack use goland HOT 2
- Consider changing pods logs appearance for better UX HOT 1
- How to save kubedog output information to a variable? HOT 4
- Github releases not available since v8.0.0, nor v0.9.0 HOT 2
- Deployment without probes doesn't show full log
- Failing Pod (of a Deployment) doesn't show its logs after Pod's container restarted due to failure
- False positive pod error when crashloopbackoff have occured
- Rework internal resource trackers
- Rework multitracker HOT 2
- Print container logs in the final error report
- Pod tracker hangs when there are problems with pod scheduling
- Research & implement new architecture for Deployment tracker
- Kubedog show events for linked replicaset HOT 5
- Add support for custom types as generic HOT 2
- Bug: not enough arguments in call to restmapper.NewShortcutExpander HOT 7
- No binaries found for v0.12.0 release HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubedog.