Lightweight Kubernetes
 
 
 
 
Go to file
Kubernetes Submit Queue fc31dae165 Merge pull request #41932 from ericchiang/self-client-config-scheme
Automatic merge from submit-queue (batch tested with PRs 42126, 42130, 42232, 42245, 41932)

apiserver/pkg/server: include scheme in insecure self client config

Noticed this during bootkube development: https://github.com/kubernetes-incubator/bootkube/issues/325

In Go 1.8's `url.Parse` became more strict, and `url.Parse("127.0.0.1:8080")` now fails.

https://beta.golang.org/doc/go1.8#net_url
https://play.golang.org/p/dw_cPeotG4

Accidentally compiled bootkube with 1.8 and tracked a panic down to the loopback client config. Though we're still using the old "genericapiserver", this seems to be translated from the old one.

The actual panic we observed was

```
E0222 19:40:11.364949       5 server.go:254] Failed to create clientset: parse 127.0.0.1:8080: first path segment in URL cannot contain colon
panic: parse 127.0.0.1:8080: first path segment in URL cannot contain colon
goroutine 35 [running]:
github.com/kubernetes-incubator/bootkube/vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion.NewForConfigOrDie(0xc420728ea0, 0xc420738e30)
        /home/eric/src/github.com/kubernetes-incubator/bootkube/vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/core_client.go:132 +0x62
github.com/kubernetes-incubator/bootkube/vendor/k8s.io/kubernetes/pkg/master.(*Config).Complete(0xc420739db8, 0x0)
        /home/eric/src/github.com/kubernetes-incubator/bootkube/vendor/k8s.io/kubernetes/pkg/master/master.go:180 +0x40a
github.com/kubernetes-incubator/bootkube/vendor/k8s.io/kubernetes/cmd/kube-apiserver/app.Run(0xc42007a3c0, 0x0, 0x0)
        /home/eric/src/github.com/kubernetes-incubator/bootkube/vendor/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:347 +0x1e8d
github.com/kubernetes-incubator/bootkube/pkg/bootkube.(*bootkube).Run.func1(0xc4206b01e0, 0xc420164300)
        /home/eric/src/github.com/kubernetes-incubator/bootkube/pkg/bootkube/bootkube.go:124 +0x2f
created by github.com/kubernetes-incubator/bootkube/pkg/bootkube.(*bootkube).Run
        /home/eric/src/github.com/kubernetes-incubator/bootkube/pkg/bootkube/bootkube.go:124 +0xb0
```

I don't actually know if this is the correct fix or if there should be changes to `NewForConfigOrDie`. Am looking for comments more than anything.

edit: @abourget pointed out over on bootkube that the actual panic was fixed in the internalclient by https://github.com/kubernetes/kubernetes/pull/38519.

cc @deads2k @sttts @kubernetes/sig-api-machinery-pr-reviews
2017-03-02 02:07:31 -08:00
.github Fix issue template to read more clearly 2017-01-27 10:15:06 -07:00
Godeps Add dependencency on k8s.io/metrics 2017-03-01 10:23:29 -05:00
api Merge pull request #41931 from jessfraz/pip 2017-03-01 20:07:54 -08:00
build Merge pull request #42090 from timstclair/kube-proxy 2017-03-01 04:10:06 -08:00
cluster Merge pull request #42130 from Crassirostris/update-fluentd-gcp-master-config 2017-03-02 02:07:22 -08:00
cmd Merge pull request #39821 from stu-gott/apiserver-checketcd 2017-03-01 20:07:57 -08:00
docs Merge pull request #41931 from jessfraz/pip 2017-03-01 20:07:54 -08:00
examples Merge pull request #42113 from chrislovecnm/cassandra-update 2017-03-01 07:48:26 -08:00
federation Merge pull request #41841 from csbell/dont-disable-configmap 2017-03-01 20:07:59 -08:00
hack update staging client 2017-03-01 13:05:44 -08:00
hooks
logo Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00
pkg Merge pull request #42232 from honkiko/fix-leader-transitions-always-zero 2017-03-02 02:07:25 -08:00
plugin Merge pull request #42245 from deads2k/rbac-06-namespace-leak 2017-03-02 02:07:28 -08:00
staging Merge pull request #41932 from ericchiang/self-client-config-scheme 2017-03-02 02:07:31 -08:00
test Merge pull request #42048 from Crassirostris/cluster-logging-load-tests-parameters 2017-03-02 00:59:23 -08:00
third_party Add forked etcd 2.2.1 code to allow rollback to 2.2.1 version 2017-02-10 13:56:01 +01:00
translations Update extraction script, sort messages, add .pot file. 2017-02-23 18:53:00 +00:00
vendor update staging client 2017-03-01 13:05:44 -08:00
.bazelrc Add verify-gofmt as a Bazel test. 2017-02-10 17:00:28 -08:00
.gazelcfg.json Generate a dummy BUILD file in _output/local/go to keep Bazel out of trouble 2017-01-05 22:05:17 -08:00
.generated_files Move .generated_docs to docs/ so docs OWNERS can review / approve 2017-02-16 10:11:57 -08:00
.gitattributes
.gitignore Add cscope related files into .gitignore. 2016-12-21 10:35:14 +08:00
BUILD.bazel bazel: save git version in kubernetes.tar.gz 2017-01-23 17:28:08 -08:00
CHANGELOG.md Update CHANGELOG.md for v1.6.0-alpha.3. 2017-02-16 12:13:13 -08:00
CONTRIBUTING.md
LICENSE
Makefile Make make quick-release quick again 2017-02-21 14:35:55 -08:00
Makefile.generated_files Remove a from each codegen path 2016-12-30 18:44:32 -08:00
OWNERS Add wojtec to global approvers 2017-01-25 11:57:00 -06:00
OWNERS_ALIASES add OWNER file to kubelet/network 2017-02-24 11:41:13 -08:00
README.md Tidy up the main README. 2017-02-01 20:13:09 -08:00
Vagrantfile
WORKSPACE upgrade to latest build rules 2017-02-01 15:16:43 -08:00
code-of-conduct.md
labels.yaml

README.md

Kubernetes

Submit Queue Widget GoDoc Widget

Introduction

Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF).

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.


Are you ...

Code of Conduct

The Kubernetes community abides by the CNCF code of conduct. Here is an excerpt:

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

Community

Do you want to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented?. If you are a company, you should consider joining the CNCF. For details about who's involved in CNCF and how Kubernetes plays a role, read the announcement. For general information about our community, see the website community page.

Contribute

If you're interested in being a contributor and want to get involved in developing Kubernetes, get started with this reading:

You will then most certainly gain a lot from joining a SIG, attending the regular hangouts as well as the community meeting.

If you have an idea for a new feature, see the Kubernetes Features repository for a list of features that are coming in new releases as well as details on how to propose one.

Building Kubernetes for the impatient

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

$ go get -d k8s.io/kubernetes
$ cd $GOPATH/src/k8s.io/kubernetes
$ make
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release

If you are less impatient, head over to the developer's documentation.

Support

While there are many different channels that you can use to get hold of us (Slack, Stack Overflow, Issues, Forums/Mailing lists), you can help make sure that we are efficient in getting you the help that you need.

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. We don't bite!

Analytics