Comments (4)
I'm going to eventually fix 3 units: docker.service, flanneld.service, kubelet.service.
The reasoning behind this is that I believe
- If
flanneld.service
depends on just local etcd.service, normally it shouldn't fail transiently(coreos/coreos-kubernetes#697 (comment)). But in today's kube-aws, it depends on discrete etcd nodes in controller/worker nodes. It may fail when etcd.service's in controller/worker nodes started before the remote etcd's become ready. docker.service
depends on localflanneld.service
which depends on the remote etcd in controller/worker nodes. It may fail on startup then.kubelet.service
depends onflanneld.service
. It may also fail then.
fyi @dghubble
from kube-aws.
well, some more information regarding this. I'm reconsidering where to fix.
flanneld.service
doesn't seem to depend on suspicious services (other than the decrypt-tls-assets oneshot service which had been considered problematic and also addressed in my PR to coreos-kubernetes), and it hasRestart=always
. It won't fail because of dependency failure then.- log messages referred in coreos/coreos-kubernetes#710 does show failed
decrypt-tls-assets.service
, which is required bykubelet.service
andflanneld.service
in kube-aws
from kube-aws.
I've noticed that, in cloud-config-etcd, we should make decrypt-tls-assets
based rkt instead of docker, as we had done so for workers/controllers.
I'll address that in a separate issue if it matters.
from kube-aws.
Let me outline how I'm going to fix the issue based on my initial plan in coreos/coreos-kubernetes#697 (comment)
- Modification to kubelet.service would be useful according to coreos-baremetal#253
Make it not require flannel and/or docker, but want just flannel to up using the Wants
and ExecStartPre
pattern. This will prevent kubelet.service from stopped forever in case of startup failures in flanneld.service (and decrypt-tls-assets)
- Modification to flanneld.service would be useful according to #710
Make it want/require nothing. Just run decrypt-tls-assets in ExecStartPre
to prevent a single failure of decrypt-tls-assets from breaking flanneld.service forever.
- Modification to docker.service would be useful according to #682
The Wants
and ExecStartPre
on flanneld to prevent a single failure in starting flanneld.service from breaking docker.service forever.
Also note that, it should work as long as docker.service
, flanneld.service
and kublet.service
aren't Require
d from other services.
from kube-aws.
Related Issues (20)
- S3 bucket versioning HOT 4
- kube-aws 0.12.x to 0.13.x ETCD Version HOT 4
- Config template error on init HOT 7
- prometheusMetrics for clusterAutoscaler plugin [0.15] HOT 5
- Deploy step failed HOT 4
- [0.14.3 => 0.15] Regression regarding Persistent Volume HOT 3
- Coreos EOL HOT 14
- v0.15.1 - Cloud-Controller-Manager - configure-cloud-routes is not disabled
- Migrating from kube-aws 0.14 to 0.15 issues HOT 5
- Support Bottlerocket – Open Source OS for Container Hosting HOT 1
- kube-aws apply/validate throws "ERROR: Bad template: apiVersion: v1" HOT 4
- DisableContainerLinuxAutomaticUpdates does not seem to be implemented properly.
- Broken render credentials flag for apiserver aggregator key HOT 1
- Kube-aws: Template format error: Unresolved resource dependencies [IAMRoleController] HOT 3
- 0.12.7 Release doesn't include latest feature in changelog HOT 4
- Migrate kube-aws to `node.kubernetes.io/role: control-plane` taint HOT 2
- upgrading 0.14 to 0.15: etcd migration failed; controller kubelet fails HOT 1
- s3, kms, awscli, & kube-aws: time to update coreos/awscli? HOT 2
- How to pass CA authority certificate with generated certificates HOT 2
- Unable to scrape node metrics after upgrade to 0.13 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 kube-aws.