Commit Graph

8053 Commits

Author SHA1 Message Date
Rafael Fernández López
b6f4bb349b kubeadm: upload the ClusterConfiguration during the upgrade
During the upgrade process, `kubeadm` will take the current
`ClusterConfiguration`, update the `KubernetesVersion` to the latest
version, and call to `UploadConfiguration`.

This change makes sure that when the mutation happens, not only the
`ClusterStatus` is mutated, but the `ClusterConfiguration` object
inside the `kubeadm-config` ConfigMap as well; it will contain the
new `KubernetesVersion`.
2019-05-06 18:21:55 +02:00
Kubernetes Prow Robot
0a83ed51b4 Merge pull request #77345 from rosti/omitempty-v1beta2
kubeadm: Fix omitempty in v1beta2
2019-05-04 12:13:37 -07:00
Kubernetes Prow Robot
ef550e6989 Merge pull request #75434 from cofyc/fix56098
Refactor PV scheduling library into a separate package
2019-05-03 22:17:38 -07:00
Kubernetes Prow Robot
e1fa195451 Merge pull request #76627 from timoreimann/handle-missing-gce-lb-flag-gracefully
Suppress registering GCE LB provider flag if missing on CommandLine.
2019-05-03 21:01:39 -07:00
Kubernetes Prow Robot
f29138c372 Merge pull request #77012 from rosti/certkey-v1beta2
kubeadm: Add certificateKey field to v1beta2 config
2019-05-03 15:11:39 -07:00
Kubernetes Prow Robot
7defecbc2c Merge pull request #76327 from neolit123/kubeproxy-node-selector
kubeadm: disable the kube-proxy DaemonSet on non-Linux nodes
2019-05-03 04:08:18 -07:00
Rostislav M. Georgiev
81e3adc53b kubeadm: Fix omitempty in v1beta2
There are a couple of problems with regards to the `omitempty` in v1beta1:

- It is not applied to certain fields. This makes emitting YAML configuration
  files in v1beta1 config format verbose by both kubeadm and third party Go
  lang tools. Certain fields, that were never given an explicit value would
  show up in the marshalled YAML document. This can cause confusion and even
  misconfiguration.

- It can be used in inappropriate places. In this case it's used for fields,
  that need to be always serialized. The only one such field at the moment is
  `NodeRegistrationOptions.Taints`. If the `Taints` field is nil, then it's
  defaulted to a slice containing a single control plane node taint. If it's
  an empty slice, no taints are applied, thus, the cluster behaves differently.
  With that in mind, a Go program, that uses v1beta1 with `omitempty` on the
  `Taints` field has no way to specify an explicit empty slice of taints, as
  this would get lost after marshalling to YAML.

To fix these issues the following is done in this change:

- A whole bunch of additional omitemptys are placed at many fields in v1beta2.
- `omitempty` is removed from `NodeRegistrationOptions.Taints`
- A test, that verifies the ability to specify empty slice value for `Taints`
  is included.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-03 12:59:41 +03:00
Kubernetes Prow Robot
005eb53ea1 Merge pull request #77278 from liggitt/enable-etcd-paging
Enable API resource paging by default, by feature gate in sample-apiserver
2019-05-02 23:36:16 -07:00
Rostislav M. Georgiev
1826e445fe kubeadm: Add certificateKey field to v1beta2 config
This change introduces config fields to the v1beta2 format, that allow
certificate key to be specified in the config file. This certificate key is a
hex encoded AES key, that is used to encrypt certificates and keys, needed for
secondary control plane nodes to join. The same key is used for the decryption
during control plane join.
It is important to note, that this key is never uploaded to the cluster. It can
only be specified on either command line or the config file.
The new fields can be used like so:

---
apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
certificateKey: "yourSecretHere"
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: JoinConfiguration
controlPlane:
  certificateKey: "yourSecretHere"
---

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-02 11:47:07 +03:00
Dmitry Rozhkov
a6d7920f44 kubeadm: do unit testing of actual public function
Even though CreateServiceAccountKeyAndPublicKeyFiles() function is
an interface function it's not unittested. Instead it wraps a couple
of internal functions which are used only inside CreateServiceAccountKeyAndPublicKeyFiles()
and those internal functions are tested.

Rewrite the function to do only what it's intended to do and add unit
tests for it.
2019-05-02 10:23:51 +03:00
Yecheng Fu
214ea1a9d3 Update scheduler to use new volume scheduling library
To fix scheme issue, use k8s.io/client-go/kubernetes/scheme instead of
legacyscheme.
2019-05-02 14:57:47 +08:00
Kubernetes Prow Robot
6d691c9985 Merge pull request #77307 from bjhaid/cleanup_genswaggertypedocs
Clean up genswaggertypedocs.
2019-05-01 23:29:08 -07:00
Àbéjídé Àyodélé
a2b0cb62a1 Clean up kubeadm.
These are based on recommendation from
[staticcheck](http://staticcheck.io/).

- Remove unused struct fields
- Remove unused function
- Remove unused variables
- Remove unused constants.
- Miscellaneous cleanups
2019-05-01 22:16:06 +00:00
Àbéjídé Àyodélé
fd5113aec1 Clean up genswaggertypedocs.
These are based on recommendation from
[staticcheck](http://staticcheck.io/).
2019-05-01 16:32:05 +00:00
Jordan Liggitt
90cd672ab6 Enable paging by default in etcd options, by feature flag in sample-apiserver 2019-04-30 17:49:34 -04:00
Àbéjídé Àyodélé
bd1d1f062a Remove unused var.
The variable is unused as verified with:

https://cs.k8s.io/?q=skip&i=nope&files=cmd%2Fclicheck%2F.*&repos=kubernetes/kubernetes
2019-04-30 18:01:33 +00:00
Kubernetes Prow Robot
a6558c6f10 Merge pull request #77257 from stgleb/remove_todo
Remove todo and change comment
2019-04-30 05:47:37 -07:00
stgleb
758d89c256 Remove todo and change comment 2019-04-30 13:34:25 +03:00
Kubernetes Prow Robot
cf22c56c7f Merge pull request #75848 from bsalamat/framework_update
Implement/update interfaces and skeleton for the scheduling framework
2019-04-30 00:03:36 -07:00
Kubernetes Prow Robot
b9fbed1324 Merge pull request #76875 from JieJhih/proxy/file
handle file close error
2019-04-29 22:49:35 -07:00
Bobby (Babak) Salamat
83828bcb2d autogenerated files 2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
77824f5135 Change scheduler constructors to receive a plugin registry. 2019-04-29 16:40:56 -07:00
Kubernetes Prow Robot
b5d9aa58e3 Merge pull request #77218 from neolit123/chroot-fix-flakes
kubeadm: remove flaky unit tests for chroot
2019-04-29 14:36:26 -07:00
Kubernetes Prow Robot
ad645fbb13 Merge pull request #77191 from stgleb/fix_log
Change misleading log message
2019-04-29 14:36:13 -07:00
Kubernetes Prow Robot
35b278447c Merge pull request #76920 from sempr/master
MOD: support wildcard DNS for apiserver certSANs
2019-04-29 14:36:01 -07:00
Lubomir I. Ivanov
96e907348a kubeadm: remove flaky unit tests for chroot
This unit test contains some hacks are causing the bazel-test
e2e job to flake very often. Instead of maintaining this
unit test remove it completely. It has little benefits
WRT testing app/util/chroot*.go.
2019-04-29 20:49:09 +03:00
Dmitry Rozhkov
358659ef4d kubeadm: remove duplicated token.parsePEMCerts()
The function parsePEMCerts() duplicates ParseCertsPEM() from
the "k8s.io/client-go/util/cert" package.
2019-04-29 14:32:38 +03:00
stgleb
7bf9acd303 Change misleading log message
Secret instead of configmap for
upload certs phase
2019-04-29 03:06:11 +03:00
Kubernetes Prow Robot
c88b7cdd58 Merge pull request #76862 from fabriziopandini/fix-upgrade-certs-renew
kubeadm: fix certs renewal during upgrade
2019-04-27 12:30:20 -07:00
Kubernetes Prow Robot
a0b8d1cbb8 Merge pull request #76732 from JieJhih/proxy/server
os exit when option is true
2019-04-27 11:18:21 -07:00
Kubernetes Prow Robot
829b6d82d3 Merge pull request #77032 from chenzhiwei/cgroup-driver
use new method to detect cgroup driver
2019-04-27 05:50:22 -07:00
Kubernetes Prow Robot
41f9f31592 Merge pull request #77153 from MrHohn/cmd-proxy-owner
Add OWNERS file for cmd/kube-proxy
2019-04-27 02:00:22 -07:00
Chen Zhiwei
79c436f48f use new method to detect cgroup driver 2019-04-27 08:39:18 +00:00
fabriziopandini
137137cbaa fix-upgrade-certs-renew 2019-04-27 09:58:17 +02:00
JieJhih
94731c5dcd Merge branch 'master' into proxy/server 2019-04-27 13:48:29 +08:00
Kubernetes Prow Robot
3148eb750d Merge pull request #76390 from rojkov/ecdsa-v2
kubeadm: add support for ECDSA keys
2019-04-26 19:56:23 -07:00
Zihong Zheng
028d4e8fe7 Add OWNERS file for cmd/kube-proxy 2019-04-26 17:22:29 -07:00
Kubernetes Prow Robot
4dc05dd9df Merge pull request #76320 from JieJhih/config/kube_proxy
support ipv6 in bind address
2019-04-26 17:14:22 -07:00
Kubernetes Prow Robot
332d62a94a Merge pull request #76710 from rosti/introduce-v1beta2
kubeadm: Introduce v1beta2 config
2019-04-26 10:38:27 -07:00
Kubernetes Prow Robot
59a86822cb Merge pull request #77051 from chenzhiwei/bump-docker-version
Bump minimum docker version to 1.13.1 in kubeadm
2019-04-26 07:10:29 -07:00
Sempr
81e896e16f MOD: minor comment update for error message 2019-04-26 09:13:11 +08:00
Davanum Srinivas
edf8577654 Remove Rancher Credential Provider from upstream kubernetes
This is useful only in rancher environment, they are using this in a
very old branch (1.6), they are currently at 2.2.x. There is just no
point in us carrying this code as this is not useful to anyone else
outside of the rancher environment. Let us please remove this code from
upstream.

Change-Id: I5196d0edd79a7809c3a04e6028ddbd01063f224b
2019-04-25 19:10:01 -04:00
Rostislav M. Georgiev
9e1ac76c1a kubeadm: Introduce v1beta2 config
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-04-25 17:10:04 +03:00
Chen Zhiwei
d4aaacfc18 Bump minimum docker version to 1.13.1 in kubeadm 2019-04-25 13:57:50 +00:00
fabriziopandini
d41c77f4d4 add-v1.15-etcd-version 2019-04-25 15:19:21 +02:00
Kubernetes Prow Robot
85015461b7 Merge pull request #76578 from SataQiu/fix-kubeadm-issue-1493
[kubeadm] fix kubelet config bug for kubeadm init phase
2019-04-25 04:34:46 -07:00
Dmitry Rozhkov
d125f3bddc kubeadm: add support for ECDSA keys
kubeadm still generates RSA keys when deploying a node, but also
accepts ECDSA keys if they already exist pregenerated in the
directory specified in --cert-dir.
2019-04-25 12:52:42 +03:00
Kubernetes Prow Robot
ce3ddcd5f6 Merge pull request #76933 from xichengliudui/update-prots
Replace variables 10250 and 10255 with constants
2019-04-24 12:25:13 -07:00
Kubernetes Prow Robot
5d37d6b9bf Merge pull request #77000 from xichengliudui/move-SchemeGroupVersion-variable
Move the SchemeGroupVersion variable into var()
2019-04-24 08:40:08 -07:00
SataQiu
5b74f3d8ad fix kubelet config bug for kubeadm init phase 2019-04-24 22:05:10 +08:00