Production-Grade Container Scheduling and Management
Go to file
Jan Chaloupka 30674db159 kubectl explain: detect resource group in case there are two or more groups discovered
Assume the following CRDs exist (ordered by priority, the first is the highest):
- authentications.migration.k8s.io (K=Authentications, G=migration.k8s.io)
- authentications.metal3.io (K=Authentications, G=metal3.io)
- authentications.whereabouts.cni.cncf.io (K=Authentications, G=whereabouts.cni.cncf.io)
- authentications.snapshot.storage.k8s.io (K=Authentications, G=snapshot.storage.k8s.io)

In case 'kubectl explain authentications' is ran, the highest priority definition (in this case authentications.migration.k8s.io)
is returned. In case a user wants to explain authentication CRD of a different group, --api-version flag has to be set alongside
to point to a specific group and version. E.g. --api-version=metal3.io/v1

This PR allows to dismiss --api-version flag and perform a prefix check to select a resource (e.g. CRD) whose (resource, group) pair
fully prefixes requested resource. E.g. running 'kubectl explain authentications.metal3.io' will return
description of authentications.metal3.io. The same holds for optional field path.
I.e. 'kubectl explain authentications.metal3.io.spec' will return description of spec field
of authentications.metal3.io.spec. In case no resource match is found, the search falls back
to selecting the highest priority gvr that matches the resource.
In case --api-version is set, no prefix matching is performed. To cover cases
such as 'kubectl explain authentications.metal3.io --api-version=authentications.metal3.io/v1' where
fields path coincide with the resource fully specified name (to access .metal3.io field of authentications.metal3.io).
2021-01-14 10:46:28 +01:00
.github
api
build Merge pull request #97967 from rajibmitra/master 2021-01-13 13:27:15 -08:00
CHANGELOG CHANGELOG: Update directory for v1.21.0-alpha.1 release 2021-01-13 19:50:38 +00:00
cluster Merge pull request #97967 from rajibmitra/master 2021-01-13 13:27:15 -08:00
cmd Merge pull request #97919 from neolit123/1.21-fix-coredns-migration-preflight 2021-01-12 06:12:25 -08:00
docs
hack Fix golint errors for kubectl/pkg/cmd/certificates/certificates.go 2021-01-13 09:17:00 -05:00
LICENSES
logo
pkg Merge pull request #97788 from heqg/expect-scheduler_binder 2021-01-13 18:43:03 -08:00
plugin Merge pull request #97293 from roycaihw/storage-version/gc-rbac 2021-01-11 08:39:07 -08:00
staging kubectl explain: detect resource group in case there are two or more groups discovered 2021-01-14 10:46:28 +01:00
test Merge pull request #97878 from justinsb/e2e_split_network_test 2021-01-13 13:27:03 -08:00
third_party
translations
vendor bump github.com/heketi/heketi v10.2.0 2021-01-11 11:07:05 -05:00
.bazelrc
.bazelversion
.generated_files
.gitattributes
.gitignore
.kazelcfg.json
BUILD.bazel
CHANGELOG.md
code-of-conduct.md
CONTRIBUTING.md
go.mod bump github.com/heketi/heketi v10.2.0 2021-01-11 11:07:05 -05:00
go.sum bump github.com/heketi/heketi v10.2.0 2021-01-11 11:07:05 -05:00
LICENSE
Makefile
Makefile.generated_files
OWNERS
OWNERS_ALIASES
README.md
SECURITY_CONTACTS
SUPPORT.md
WORKSPACE

Kubernetes (K8s)

GoDoc Widget CII Best Practices


Kubernetes, also known as K8s, is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications.

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called Borg, combined with best-of-breed ideas and practices from the community.

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If your company wants to help shape the evolution of technologies that are container-packaged, dynamically scheduled, and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.


To start using K8s

See our documentation on kubernetes.io.

Try our interactive tutorial.

Take a free course on Scalable Microservices with Kubernetes.

To use Kubernetes code as a library in other applications, see the list of published components. Use of the k8s.io/kubernetes module or k8s.io/kubernetes/... packages as libraries is not supported.

To start developing K8s

The community repository hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.

If you want to build Kubernetes right away there are two options:

You have a working Go environment.
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make
You have a working Docker environment.
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make quick-release

For the full story, head over to the developer's documentation.

Support

If you need support, start with the troubleshooting guide, and work your way through the process that we've outlined.

That said, if you have questions, reach out to us one way or another.