Skip to content
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

Add supported platforms document #1352

Closed
wants to merge 1 commit into from

Conversation

hasheddan
Copy link
Contributor

What type of PR is this:

/kind documentation

What this PR does / why we need it:

Adds the initial documentation on supported platforms for each
Kubernetes component. This document will continue to be iterated upon as
procedures for supporting / dropping support for platforms becomes more
defined. It will also be updated with tiers of support and current test
coverage.

Signed-off-by: hasheddan georgedanielmangum@gmail.com

Which issue(s) this PR fixes:

xref: #1337

Special notes for your reviewer:

/assign @saschagrunert @justaugustus
/area release-eng

Adds the initial documentation on supported platforms for each
Kubernetes component. This document will continue to be iterated upon as
procedures for supporting / dropping support for platforms becomes more
defined. It will also be updated with tiers of support and current test
coverage.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
@k8s-ci-robot k8s-ci-robot added kind/documentation Categorizes issue or PR as related to documentation. area/release-eng Issues or PRs related to the Release Engineering subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-priority labels Nov 22, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hasheddan

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Nov 22, 2020
@hasheddan
Copy link
Contributor Author

/priority important-longterm

@k8s-ci-robot k8s-ci-robot added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed needs-priority labels Nov 22, 2020
Copy link
Member

@justaugustus justaugustus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hasheddan -- Very awesome!

Two things:

  • As we start to draw the line between what is released and what is supported, I think it's important to put a disclaimer here, something in the way of "We test on linux/amd64 and that's the only thing we're 'really sure' about. Everything else is best effort."
  • Can you break these out into two tables: server and client

@dims
Copy link
Member

dims commented Nov 23, 2020

/hold

for reviews! :)

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 23, 2020
Copy link
Member

@saschagrunert saschagrunert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Just some thoughts on container images, otherwise LGTM 👇

@@ -0,0 +1,20 @@
# Supported Platforms
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to put this into /release-engineering? And link it from the README.md there?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I was thinking about that, but I think as this document continues to mature, it actually is generally applicable to sig-release, similar to how the release-blocking / release-informing doc is at root of repo.

@@ -0,0 +1,20 @@
# Supported Platforms

A Kubernetes release consists of a set of Go binaries for various Operating Systems and CPU architectures. Platforms are identified using the Go `<GOOS>-<GOARCH>` parlance.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A Kubernetes release consists of a set of Go binaries for various Operating Systems and CPU architectures. Platforms are identified using the Go `<GOOS>-<GOARCH>` parlance.
A Kubernetes release consists of a set of Go binaries and container images for various Operating Systems and CPU architectures. Platforms are identified using the Go `<GOOS>-<GOARCH>` parlance.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are also various scripts and manifests, looking at the contents of e.g. https://github.com/kubernetes/kubernetes/releases/download/v1.18.12/kubernetes.tar.gz

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@spiffxp yep, this is not meant to cover every artifact produced, just the supported platforms. That being said, I do think we should document those as well.


A Kubernetes release consists of a set of Go binaries for various Operating Systems and CPU architectures. Platforms are identified using the Go `<GOOS>-<GOARCH>` parlance.

## Released Binaries
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can map this 1:1 to the container images, right? I guess we just have to mention this fact here, too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep that sounds good 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@saschagrunert in thinking about this more, the container images we publish don't really map 1:1 here, so I think it makes sense to maybe follow-up with some additional documentation on that

Comment on lines +11 to +20
| apiextensions-apiserver | | | X | X | X | X | X | | |
| kube-aggregator | | | X | X | X | X | X | | |
| kube-apiserver | | | X | X | X | X | X | | |
| kube-controller-manager | | | X | X | X | X | X | | |
| kube-proxy | | | X | X | X | X | X | | X |
| kube-scheduler | | | X | X | X | X | X | | |
| kubeadm | | | X | X | X | X | X | | X |
| kubectl | X | X | X | X | X | X | X | X | X |
| kubelet | | | X | X | X | X | X | | X |
| mounter | | | X | X | X | X | X | | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a follow-up, my idea would be that we put this matrix in a map in k/release and verify it during the release cut. WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@saschagrunert definitely :) I have an item on #1337 to do that 👍

@hasheddan
Copy link
Contributor Author

So I completely missed that an excellent document that describes what I have here as well as much more already exists (https://github.com/kubernetes/sig-release/blob/master/release-engineering/artifacts.md). I am going to close this out and do some work on cleaning up the existing doc 👍

/close

@k8s-ci-robot
Copy link
Contributor

@hasheddan: Closed this PR.

In response to this:

So I completely missed that an excellent document that describes what I have here as well as much more already exists (https://github.com/kubernetes/sig-release/blob/master/release-engineering/artifacts.md). I am going to close this out and do some work on cleaning up the existing doc 👍

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/release-eng Issues or PRs related to the Release Engineering subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/documentation Categorizes issue or PR as related to documentation. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/release Categorizes an issue or PR as relevant to SIG Release. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants