Commit Graph

831 Commits

Author SHA1 Message Date
k8s-ci-robot
f212b9db23 Merge pull request #70598 from dims/switch-from-sigs.k8s.io/yaml-to-ghodss/yaml
Switch to sigs.k8s.io/yaml from ghodss/yaml
2018-11-08 10:57:36 -08:00
Rafael Fernández López
fb88c199cd kubeadm: Remove feature gates from JoinConfiguration
Relay on the feature gates provided by the ClusterConfiguration
when downloaded from the cluster during the join process.
2018-11-08 19:35:50 +01:00
k8s-ci-robot
16d0992534 Merge pull request #69753 from wangzhen127/diff-node-status
Update kubelet node status report logic with node lease feature
2018-11-07 20:26:45 -08:00
Zhen Wang
98fc4a107a Update kubelet node status report logic with node lease feature
When node lease feature is enabled, kubelet reports node status to api server
only if there is some change or it didn't report over last report interval.
2018-11-07 11:59:42 -08:00
Davanum Srinivas
43f523d405 Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05:00
Marek Counts
18dc529d05 Removed feature gates selfhosting, HA and store certs in secrets.
Added new alpha command to pivot to self hosted
Removed slelfhosting upgrade ability
Added warning message to self hosted pivot
added certs in secrets flag to new selfhosting comand
2018-11-07 11:44:54 -05:00
Rostislav M. Georgiev
eb6f7b1f17 kubeadm: Add configurable control plane up timeout
Until now the control plane timeout was fixed to 4 minutes and users did not
have the ability to change it. This commit allows that timeout to be configured
via the new `timeoutForControlPlane` option in the API server config (itself a
member of the ClusterConfiguration).

The default timeout is still 4 minutes.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-05 12:36:28 +02:00
k8s-ci-robot
14120dd44a Merge pull request #70611 from yagonobre/rsa
Fix error wrap on pki_helpers
2018-11-03 11:05:14 -07:00
Yago Nobre
a80a573074 Fix error wrap on pki_helpers 2018-11-03 10:17:20 -03:00
k8s-ci-robot
474e27f914 Merge pull request #70495 from rosti/writable-to-readonly-volumes
kubeadm: Writable to ReadOnly in HostPathMount
2018-11-03 01:43:02 -07:00
k8s-ci-robot
5e76248e23 Merge pull request #70512 from neolit123/phase-wait-control-plane
kubeadm: graduate wait-control-plane phase
2018-11-02 16:44:20 -07:00
Rostislav M. Georgiev
6c9e347e31 kubeadm: Writable to ReadOnly in HostPathMount
Writable was added to HostPathMount in v1alpha1 in order to control if an extra
volume is mounted in read only or writable mode.
Usually, in Kubernetes, this option is referred to as ReadOnly, instead of
Writable and is defaulted to `false`. However, at the time, all extra volumes
to pods were defaulted to read-only. Therefore, to avoid changes to existing
v1alpha1 configs, this option had to be added with reversed meaning.

Hence, it's called `writable`.

Now, with the migration towards v1beta1, we can safely change this to ReadOnly
and get it in sync with the reset of Kubernetes.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-02 18:02:06 +02:00
k8s-ci-robot
b83a947ee9 Merge pull request #70371 from rosti/control-plane-substructs
kubeadm: Control plane config moved to substructs
2018-11-02 08:38:47 -07:00
Lubomir I. Ivanov
cbb448113d kubeadm: graduate wait-control-plane phase 2018-11-02 15:47:23 +02:00
k8s-ci-robot
7f32ad0287 Merge pull request #70529 from SataQiu/fix-2018110101
Fix the expression of some comments
2018-11-02 05:29:05 -07:00
Rostislav M. Georgiev
d14c27a347 kubeadm: Control plane config moved to substructs
In v1alpha3's, control plane component config options were nested directly into
the ClusterConfiguration structure. This is cluttering the config structure and
makes it hard to maintain. Therefore the control plane config options must be
separated into different substructures in order to graduate the format to beta.

This change does the following:

- Introduces a new structure called ControlPlaneComponent, that contains fields
  common to all control plane component types. These are currently extra args
  and extra volumes.

- Introduce a new structure called APIServer that contains
  ControlPlaneComponent and APIServerCertSANs field (from ClusterConfiguration)

- Replace all API Server, Scheduler and Controller Manager options in
  ClusterConfiguration with APIServer, ControllerManager and Scheduler fields
  of APIServer and ControlPlaneComponent types.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-02 11:38:56 +02:00
jiaxuanzhou
f253171dfe simplify logic for func BuildArgumentListFromMap 2018-11-01 23:15:48 +08:00
SataQiu
d32526fba4 improve the expression of some comments 2018-11-01 17:44:37 +08:00
yuexiao-wang
4f0c2ecf09 move certs/pkiutil to generic kubeadm utils
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-11-01 15:05:19 +08:00
Yago Nobre
cc670e29a1 Fix typos on cmd/kubeadm/app/cmd 2018-10-31 16:32:02 -03:00
Rostislav M. Georgiev
a3e7d7e038 kubeadm: APIServerEndpoints -> APIServerEndpoint
In the past the discovery configuration expected, that we can support multiple
API server endpoints. In practice, we always end up with a single API server
endpoint, because, even in HA setups, we use a load balancer scheme for API
servers.
Therefore, to reduce complexity and improve readability of the config, the
multiple API server endpoints support is removed from the bootstrap token
discovery join method and configuration.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-10-30 16:10:28 +02:00
yuexiao-wang
c0a9b4d04d add BUILD
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-10-30 16:23:52 +08:00
yuexiao-wang
cc303c8774 [kubeadm/app/]switch to github.com/pkg/errors
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-10-30 16:23:24 +08:00
fabriziopandini
fbd6d2d68a autogenerated 2018-10-27 18:04:44 +02:00
fabriziopandini
d30492ee8f kubeadm graduate kubelet-start phase 2018-10-27 18:04:33 +02:00
yuexiao-wang
f15410692e [kubeadm/app/util]switch to github.com/pkg/errors
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-10-26 15:17:21 +08:00
k8s-ci-robot
46ec13cf7d Merge pull request #70027 from bart0sh/PR0031-kubeadm-sort-volumes
kubeadm: sort pod Volumes and VolumeMounts
2018-10-22 22:46:42 -07:00
k8s-ci-robot
2dc9acc23b Merge pull request #69922 from xichengliudui/fix181017
Delete repeated words and fix misspellings
2018-10-20 01:47:53 -07:00
k8s-ci-robot
b47510c1bb Merge pull request #69886 from bart0sh/PR0030-kubeadm-fix-1054-upgrade-same-version
kubeadm: skip upgrade if manifest is not changed
2018-10-19 14:52:46 -07:00
Ed Bartosh
ebb0af9e8f kubeadm: sort pod Volumes and VolumeMounts
Order of Volumes and VolumeMounts in the pod objects created by
kubeadm is undefined as they're represended as maps in the
controlPlaneHostPathMounts struct.

This influences 'kubeadm upgrade' logic in a way that even when
manifest of the component is not changed kubeadm tries to upgrade
it because most of the time current and new pods are not equal
due to the different order of Volumes and VolumeMounts.

For example 'kubeadm apply diff' almost always shows difference
in Volumes and VolumeMounts because of this:
     volumeMounts:
+    - mountPath: /etc/kubernetes/pki
+      name: k8s-certs
+      readOnly: true
     - mountPath: /etc/ssl/certs
       name: ca-certs
+      readOnly: true
+    - mountPath: /etc/pki
+      name: etc-pki
+      readOnly: true
+    - mountPath: /usr/share/ca-certificates
+      name: usr-share-ca-certificates
       readOnly: true
     - mountPath: /etc/ca-certificates
       name: etc-ca-certificates
       readOnly: true
-    - mountPath: /etc/pki
-      name: etc-pki
-      readOnly: true
-    - mountPath: /etc/kubernetes/pki
-      name: k8s-certs
-      readOnly: true
-    - mountPath: /usr/share/ca-certificates
-      name: usr-share-ca-certificates
-      readOnly: true

Sorting Volumes and VolumeMounts should fix this issue and help
to avoid unnecessary upgrades.
2018-10-19 18:22:47 +03:00
Ed Bartosh
ad0179897d kubeadm: skip upgrade if manifest is not changed
When doing upgrades kubeadm generates new manifest and
waits until kubelet restarts correspondent pod.

However, kubelet won't restart pod if there are no changes
in the manifest. That makes kubeadm stuck waiting for
restarted pod.

Skipping upgrade if new component manifest is the same as
current manifest should solve this.

Fixes: kubernetes/kubeadm#1054
2018-10-17 11:07:51 +03:00
k8s-ci-robot
1e4ad048fa Merge pull request #67763 from rosti/join-discovery-split
kubeadm: Split discovery from JoinConfiguration
2018-10-16 19:25:47 -07:00
Rostislav M. Georgiev
576b8d3f4f kubeadm: Split discovery from JoinConfiguration
This change splits out discovery fields from JoinConfiguration by performing
the following changes:

- Introduce a BootstrapTokenDiscovery structure, that houses configuration
  options needed for bootstrap token based discovery.

- Introduce a FileDiscovery structure, that houses configuration options
  (currently only a single option) needed for KubeConfig based discovery.

- Introduce a Discovery structure, that houses common options (such as
  discovery timeout and TLS bootstrap token) as well as pointer to an instance
  of either BootstrapTokenDiscovery or FileDiscovery structures.

- Replace the old discovery related JoinConfiguration members with a single
  Discovery member.

This change is required in order to cleanup the code of unnecessary logic and
make the serialized JoinConfiguration more structured (and therefore, more
intuitive).

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-10-16 15:25:32 +03:00
xichengliudui
0dba66a2a1 Delete repeated words and fix misspellings
Delete repeated words and fix misspellings
2018-10-16 01:05:05 -04:00
k8s-ci-robot
2f8b585d9c Merge pull request #69330 from vaikas-google/json-patch
Add support for JSON patch in fake client
2018-10-15 15:04:32 -07:00
k8s-ci-robot
8f620950e2 Merge pull request #69614 from mitar/patch-1
Adding more kernel config paths
2018-10-11 03:36:22 -07:00
Ville Aikas
a363b15385 Add support for JSON patch in fake client 2018-10-11 08:13:50 +00:00
k8s-ci-robot
77742ea94c Merge pull request #69301 from neolit123/kubeadm-version-stable
kubeadm: handle stable-1 as the default version
2018-10-10 12:01:18 -07:00
Mitar
3f8ef7c6f8 Adding more kernel config paths 2018-10-10 00:37:14 -07:00
RA489
8729cade98 util/config` packages; filenames and methods should be updated to use new names 2018-10-08 14:12:17 +05:30
Christoph Blecker
97b2992dc1 Update gofmt for go1.11 2018-10-05 12:59:38 -07:00
Rostislav M. Georgiev
f0d82fb5f4 kubeadm: Allow mixing Init and Join Configurations
This change allows mixing InitConfiguration/ClusterConfiguration with
JoinConfiguration in a single YAML file, by performing the following changes:

- Replace the explicit error in `DetectUnsupportedVersion` with a warning.
- Modify `NodeConfigFileAndDefaultsToInternalConfig` to use only
  `JoinConfiguration`.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-10-05 10:46:23 +03:00
Lubomir I. Ivanov
505413581e kubeadm: handle stable-1 as the default version
The default version in kubeadm is now `stable-1`. This will
pull a version from the `stable-1.txt` endpoint which might
end up being newer than the version of the client by a magnitude
of MINOR or even a MAJOR release.

To be able to prevent this scenario add the new helper function:
validateStableVersion()

This function determines if the remote version is newer than the
local client version and if that's the case it returns `stable-X.xx`
that conforms with the version of the client. If not it returns
the remote version.
2018-10-05 00:02:57 +03:00
fabriziopandini
b4092acdb6 autogenerated 2018-10-04 13:20:20 +02:00
fabriziopandini
9aec633c40 Fix tests 2018-10-04 13:20:11 +02:00
fabriziopandini
488ac6825b Automated bump from v1alpha3 references to v1beta1 2018-10-04 12:03:38 +02:00
Yu Liao
fc21115c3f Moved staging/src/k8s.io/client-go/tools/bootstrap to staging/src/k8s.io/cluster-bootstrap 2018-10-02 09:46:13 -07:00
RA489
824ed161d5 Rename the constant that refers to the kubeadm-config ConfigMap 2018-10-01 15:50:04 +05:30
k8s-ci-robot
587914c29d Merge pull request #69055 from fabriziopandini/kubeadm-remove-v1alpha2
Kubeadm remove v1alpha2 api
2018-09-27 12:21:26 -07:00
k8s-ci-robot
3fe21e5433 Merge pull request #68922 from BenTheElder/version-staging
move pkg/util/version to staging
2018-09-26 22:59:42 -07:00