Closed surajssd closed 4 years ago
Another thing to look at is the way lokoctl creates namespace
. Currently lokoctl drops all the namespace
configs. And creates a namespace
imperatively. This is a lossy operation because if a chart ships namespace
config with informantion like labels
/annotations
then all that is lost.
So try creating the namespace
for linkerd with the namespace
config shipped in the chart. This might break the deadlock introduced right now by lokoctl
. Similar issue: https://github.com/kinvolk/lokomotive/issues/647.
Perhaps we should only drop release namespace and not all namespace objects when sanitizing the charts.
with helm's install.CreateNamespace = true
, it creates a namespace object and creates it on the fly, rather than create it from the release namespace manifest present in the chart.
If install.CreateNamespace = true
and there exists a release namespace manifest in the chart, helm throws an error resource already exists.
The original PR eventually removed the failurePolicy: Ignore
override, so it is Fail
now.
Right now lokoctl's installation methodology has drawbacks where it installs webhooks first thus blocking out the webhook pod and creating a deadlock. And you start seeing errors like these:
Events from the
linkerd
namespace:These are the apiserver errors:
To get around this problem right now linkerd component is set to have the
failurePolicy
asIgnore
. We should fix this problem in lokoctl and change thefailurePolicy
toFail
.