GithubHelp home page GithubHelp logo

Comments (4)

mumoshu avatar mumoshu commented on May 20, 2024

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 local flanneld.service which depends on the remote etcd in controller/worker nodes. It may fail on startup then.
  • kubelet.service depends on flanneld.service. It may also fail then.

fyi @dghubble

from kube-aws.

mumoshu avatar mumoshu commented on May 20, 2024

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 has Restart=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 by kubelet.service and flanneld.service in kube-aws

from kube-aws.

mumoshu avatar mumoshu commented on May 20, 2024

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.

mumoshu avatar mumoshu commented on May 20, 2024

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 Required from other services.

from kube-aws.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.