New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider a structured KubeletConfigOk field in Node.Status #56896

Closed
mtaufen opened this Issue Dec 6, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@mtaufen
Contributor

mtaufen commented Dec 6, 2017

Currently, the Kubelet reports its configuration status in a NodeCondition with type KubeletConfigOK. This has limited use, because most of the node condition is not machine readable. A machine can tell if the config is OK, but can't easily aggregate details of the NodeConfigSource in use (especially if the node has rolled back to its last-known-good config).

We should consider adding a structured field to Node.Status instead, to facilitate machine consumption of the configuration status:

type NodeStatus struct {
    ...
    Config NodeConfigStatus
    ...
}

type NodeConfigStatus struct {
    Status ConditionStatus // one of True, False, or Unknown, machine-readable, as it is in a NodeCondition
    // Reports the config the Kubelet runtime chose to use
    ActiveSource *NodeConfigSource // now machine-readable, since it's a structured, versioned API type
    // ACK from the Kubelet that it has seen the currently set Node.Spec.ConfigSource
    AssignedSource *NodeConfigSource // now machine-readable, since it's a structured, versioned API type
    // Kubelet's chosen last-known-good source
    LastKnownGoodSource *NodeConfigSource // now machine-readable, since it's a structured, versioned API type
    // human-readable error string describing any problems with the configuration
    Error string 
    // human-readable string providing additional information about the configuration status
    Message string 
}

/cc @liggitt @mikedanese @dchen1107

@mtaufen mtaufen self-assigned this Dec 6, 2017

@mtaufen mtaufen added the sig/node label Dec 6, 2017

@mtaufen mtaufen added this to the v1.10 milestone Dec 6, 2017

@jiaxuanzhou

This comment has been minimized.

Show comment
Hide comment
@jiaxuanzhou

jiaxuanzhou Jan 2, 2018

Contributor

consider adding a field of allocatable resource of cpu/mem/gpu in the status as well!

Contributor

jiaxuanzhou commented Jan 2, 2018

consider adding a field of allocatable resource of cpu/mem/gpu in the status as well!

@jberkus

This comment has been minimized.

Show comment
Hide comment
@jberkus

jberkus Feb 3, 2018

@mtaufen Hey, this issue looks like a feature. If it's going to be in the 1.10 milestone, it needs kind/ and priority/ tags, and needs to be tracked in /features.

jberkus commented Feb 3, 2018

@mtaufen Hey, this issue looks like a feature. If it's going to be in the 1.10 milestone, it needs kind/ and priority/ tags, and needs to be tracked in /features.

@mtaufen

This comment has been minimized.

Show comment
Hide comment
@mtaufen

mtaufen Feb 9, 2018

Contributor

This would be part of kubernetes/features#281 if we did it, but I don't think this specific item is in for 1.10.

Contributor

mtaufen commented Feb 9, 2018

This would be part of kubernetes/features#281 if we did it, but I don't think this specific item is in for 1.10.

@mtaufen mtaufen removed this from the v1.10 milestone Feb 9, 2018

@mtaufen mtaufen changed the title from Consider a structured ConfigOk field in Node.Status to Consider a structured KubeletConfigOk field in Node.Status Mar 28, 2018

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 10, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 14, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 14, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 14, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 15, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 15, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

mtaufen added a commit to mtaufen/kubernetes that referenced this issue May 15, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

liggitt pushed a commit to liggitt/kubernetes that referenced this issue May 16, 2018

Merge pull request kubernetes#63314 from mtaufen/dkcfg-structured-status
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move to a structured status for dynamic kubelet config

This PR updates dynamic Kubelet config to use a structured status, rather than a node condition. This makes the status machine-readable, and thus more useful for config orchestration. 

Fixes: kubernetes#56896

```release-note
The status of dynamic Kubelet config is now reported via Node.Status.Config, rather than the KubeletConfigOk node condition.
```

vikaschoudhary16 added a commit to vikaschoudhary16/kubernetes that referenced this issue May 18, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896

wenjiaswe added a commit to wenjiaswe/kubernetes that referenced this issue Jun 19, 2018

Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: kubernetes#56896
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment