Commit Graph

8911 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
55f81314cc
Merge pull request #85032 from jfbai/move-fmt-out-of-api
refactor: move unwanted console output out of versiongetter API
2019-12-09 08:38:02 -08:00
Kubernetes Prow Robot
2fbe432d23
Merge pull request #85857 from hnanni/patch-1
Update checks.go
2019-12-08 09:41:08 -08:00
Jianfei Bai
dfb6c3424f move unwanted console output out of versiongetter. 2019-12-08 10:26:27 +08:00
Kubernetes Prow Robot
3994f52ee6
Merge pull request #85953 from St0rmingBr4in/verify-context-exists
kubeadm: Throw an error if the currentContext does not exists
2019-12-06 05:35:03 -08:00
Julien DOCHE
3e19201ec2 kubeadm: Throw an error if the currentContext does not exists
Check if the CurrentContext exists in validateKubeConfig

Signed-off-by: Julien DOCHE <julien.doche@gmail.com>
2019-12-06 10:15:26 +01:00
Kubernetes Prow Robot
6a4216ba59
Merge pull request #85968 from liggitt/fix_bug_in_str_split
Fix bug in apiserver service cidr split
2019-12-05 15:55:39 -08:00
darshanime
f4d1674827 Refactor parsing logic for service IP and ranges, add tests
Signed-off-by: darshanime <deathbullet@gmail.com>
2019-12-05 15:35:20 -05:00
darshanime
fdd25ec968 Fix bug in apiserver service cluster cidr split
Signed-off-by: darshanime <deathbullet@gmail.com>
2019-12-05 15:35:20 -05:00
Lubomir I. Ivanov
bc22d70e2b
Revert "kubeadm: don't check if image exists before pulling" 2019-12-05 21:42:12 +02:00
bogard1203
09ede2fd98
Deleted extra 'phase' in command example
Deleted extra 'phase' for 'kubeadm alpha kubelet config' command
2019-12-04 23:45:45 +08:00
Kubernetes Prow Robot
c8b123e8e1
Merge pull request #85843 from Itxaka/kubeadm_docker_messages
Enhance error message for failed controlplane init
2019-12-04 04:08:57 -08:00
Itxaka
c355cadbb1
Enhance error message for failed controlplane init
Currently if the controlplane fails to init, we print out a message
with some example commands that only show docker CLI.

This tries to improve that by printing the example commands for
docker, cri-o and containerd by checking the socket looking for
the default docker socket.
2019-12-04 11:55:41 +01:00
Kubernetes Prow Robot
6d5eee88e0
Merge pull request #84624 from hwdef/fix-staticcheck
cmd/kube-controller-manager: fix staticcheck warning
2019-12-04 01:54:57 -08:00
Kubernetes Prow Robot
674695c544
Merge pull request #85639 from rosti/kubeadm-cc-kind-to-group
kubeadm: Group centric component configs
2019-12-03 17:01:23 -08:00
Kubernetes Prow Robot
eff703de21
Merge pull request #84005 from yue9944882/chore/crd-internal-client-prune
Prune internal clients from CRD apiserver
2019-12-03 15:46:57 -08:00
Humberto Nanni
82206578cc
Update checks.go
match https://github.com/kubernetes/release/pull/653 add
2019-12-03 11:17:11 -06:00
yue9944882
81471c36b1 [generated] bazels and vendor/modules.txt
[generated] bazels

bazel
2019-12-04 00:49:28 +08:00
yue9944882
168f8f54f0 switch to v1 crd
switch api helper functions to v1 CRD api

switch v1 CRD for apiserver internal

switch to v1 CRD for internal controllers

api storage/validation related changes

move local-defaulting utils private to prevent spreading

boilerplate

keep the subresource status/scale spec nil unless it's enabled

clean up empty space
2019-12-04 00:49:26 +08:00
Kubernetes Prow Robot
c65c563487
Merge pull request #85412 from boluisa/1916-fix
Kubeadm: upgrade apply & upgrade node always overwrite Kubeadm-env file
2019-12-02 20:18:57 -08:00
hwdef
dddd631706 cmd/kube-controller-manager: fix staticcheck warning 2019-12-03 11:16:24 +08:00
Kubernetes Prow Robot
3769de9401
Merge pull request #85745 from aojea/kubeadm_etcd_ipv6
kubeadm: default etcd address based on the IP family
2019-12-02 15:02:58 -08:00
Rafael Fernández López
f0ea7bcf9e
kubeadm: set cluster name on the controller manager
On kubeadm's configuration it's possible to set up the cluster
name. Forward this information to the controller manager's
`--cluster-name` argument.
2019-12-02 18:32:50 +01:00
Babatunde Olu-Isa
af231b09e4 remove Kubeadm-env file overwrite from apply and node command 2019-12-01 15:28:59 -06:00
Rafael Fernández López
14fe7225c1
kubeadm: Improve resiliency in CreateOrMutateConfigMap
CreateOrMutateConfigMap was not resilient when it was trying to Create
the ConfigMap. If this operation returned an unknown error the whole
operation would fail, because it was strict in what error it was
expecting right afterwards: if the error returned by the Create call
was a IsAlreadyExists error, it would work fine. However, if an
unexpected error (such as an EOF) happened, this call would fail.

We are seeing this error specially when running control plane node
joins in an automated fashion, where things happen at a relatively
high speed pace.

It was specially easy to reproduce with kind, with several control
plane instances. E.g.:

```
[upload-config] Storing the configuration used in ConfigMap "kubeadm-config" in the "kube-system" Namespace
I1130 11:43:42.788952     887 round_trippers.go:443] POST https://172.17.0.2:6443/api/v1/namespaces/kube-system/configmaps?timeout=10s  in 1013 milliseconds
Post https://172.17.0.2:6443/api/v1/namespaces/kube-system/configmaps?timeout=10s: unexpected EOF
unable to create ConfigMap
k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient.CreateOrMutateConfigMap
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient/idempotency.go:65
```

This change makes this logic more resilient to unknown errors. It will
retry on the light of unknown errors until some of the expected error
happens: either `IsAlreadyExists`, in which case we will mutate the
ConfigMap, or no error, in which case the ConfigMap has been created.
2019-11-30 22:48:16 +01:00
Antonio Ojea
335a3e9efb kubeadm: use correct IP family for etcd localhost
kubeadm always use the IPv4 localhost address by defaultA for etcd

The probe hostname is obtained before the generation of the etcd
parameters, so it can't detect the right IP familiy for the
host of the probe.
This causes that with IPv6 clusters doesn't work because the probe
uses the IPv4 localhost address.

This patchs configures the right localhost address based on the used
AdvertiseAddress IP family.
2019-11-30 17:25:30 +01:00
Kubernetes Prow Robot
85f8005cf0
Merge pull request #85468 from neolit123/1.17-discovery-token-fix
kubeadm: simplify discover/token and add detailed unit tests
2019-11-29 09:35:03 -08:00
Antonio Ojea
798d2fb75a
Fix comment typo 2019-11-29 13:38:47 +01:00
Kubernetes Prow Robot
fe0a4749e3
Merge pull request #85654 from aramase/add-config-test
add applyto tests for controller configs
2019-11-26 16:51:33 -08:00
Lubomir I. Ivanov
ce68a89d26 kubeadm: simplify discover/token and add detailed unit tests
- Add retrieveValidatedConfigInfo to be able to better unit
test the function.
- Break some of the logic in RetrieveValidatedConfigInfo into
helper functions.
- Pass JoinConfiguration.Discovery to RetrieveValidatedConfigInfo
instead of JoinConfiguration.
- Use the discovery timeout per API call to fetch cluster-info
(optionally the user value can be slit in 2).
- Add detailed unit tests for retrieveValidatedConfigInfo.
2019-11-27 01:16:43 +02:00
Anish Ramasekar
18ba2643db
add applyto tests for controller configs 2019-11-26 13:02:12 -08:00
David Eads
3c1dc89d98 fix kube-apiserver poststarthook additions to avoid duplicating them 2019-11-26 14:05:06 -05:00
Kubernetes Prow Robot
2bc3804a0e
Merge pull request #81319 from neolit123/1.16-kubeadm-upgrade-health-check
kubeadm: add a upgrade health check that deploys a Job
2019-11-26 10:52:51 -08:00
Kubernetes Prow Robot
e51caab732
Merge pull request #85603 from bart0sh/PR008-kubeadm-dont-check-if-image-exists
kubeadm: don't check if image exists before pulling
2019-11-26 05:27:10 -08:00
Rostislav M. Georgiev
b881f19c8b kubeadm: Group centric component configs
kubeadm's current implementation of component config support is "kind" centric.
This has its downsides. Namely:
- Kind names and numbers can change between config versions.
  Newer kinds can be ignored. Therefore, detection of a version change is
  considerably harder.
- A component config can have only one kind that is managed by kubeadm.
Thus a more appropriate way to identify component configs is required.

Probably the best solution identified so far is a config group.
A group name is unlikely to change between versions, while the kind names and
structure can.
Tracking component configs by group name allows us to:
- Spot more easily config version changes and manage alternate versions.
- Support more than one kind in a config group/version.
- Abstract component configs by hiding their exact structure.

Hence, this change rips off the old kind based support for component configs
and replaces it with a group name based one. This also has the following
extra benefits:
- More tests were added.
- kubeadm now errors out if an unsupported version of a known component group
  is used.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-11-26 13:55:28 +02:00
Arvinderpal Wander
e8ee8622b8 Add support for new dual-stack flags for kubernetes-controller-
manager in kubeadm:
 - node-cidr-mask-size-ipv4
 - node-cidr-mask-size-ipv6
2019-11-25 09:11:16 -08:00
Ed Bartosh
7898b3f0a8 kubeadm: update image pull tests 2019-11-25 15:04:28 +02:00
Ed Bartosh
f6f3738a00 kubeadm: don't check if image exists before pulling
Removed image existence as kubeadm may miss
image tags if they're updated.
2019-11-25 13:00:50 +02:00
Kubernetes Prow Robot
d50717d061
Merge pull request #85500 from aramase/fix-85491
Set node cidr mask size ipv4/ipv6 config
2019-11-23 12:09:50 -08:00
Kubernetes Prow Robot
f01a4d0608
Merge pull request #85265 from SataQiu/fix-kubeadm-20191114
kubeadm: reset raises warnings if it cannot delete folders
2019-11-22 17:30:17 -08:00
Lubomir I. Ivanov
906d3159b1 kubeadm: add a upgrade health check that deploys a Job
- Add a new preflight check for upgrade that runs the pause container
with -v in a Job.
- Wait for the Job to complete and return an error after N seconds.
- Manually clean the Job because we don't have the TTL controller
enabled in kubeadm yet (it's still alpha).
2019-11-22 18:04:40 +02:00
Arvinderpal Wander
c025cfcd9c Initialize FeatureGate map for KubeProxy config. #1929 2019-11-21 20:46:25 -08:00
Anish Ramasekar
7b478d15d5
Set node cidr mask size ipv4/ipv6 config 2019-11-20 22:08:58 -08:00
Ted Yu
5be960c34d Fill in default node cidr mask size when dual stack is not enabled 2019-11-20 19:50:33 -08:00
Benjamin Elder
820b7dfa1b fix providerless build post-CSI migration 2019-11-19 09:47:44 -08:00
Kubernetes Prow Robot
c3f8d700ac
Merge pull request #85367 from aramase/node-cidr-followup
[kube controller manager] add comments for compatibility
2019-11-15 19:09:54 -08:00
Kubernetes Prow Robot
01e1dcf429
Merge pull request #85351 from rosti/kubeadm-fix-kubelet-version-check
kubeadm: Use only stdout when calling kubelet for its version
2019-11-15 19:09:41 -08:00
Kubernetes Prow Robot
b8c29966cb
Merge pull request #85348 from ereslibre/validator-names
kubeadm: use the right name for the no validator function
2019-11-15 16:17:42 -08:00
Anish Ramasekar
128f33b26e
add comments for compatibility 2019-11-15 15:38:06 -08:00
Rostislav M. Georgiev
d425520806 kubeadm: Use only stdout when calling kubelet for its version
Currently this uses the combined kubelet output (stdout + stderr), but this
causes parsing issues if the kubelet logs something on stderr.
Thus we ignore the entire stderr and use stdout only.

We do disable a couple of tests here. That is because the fakeexecer only
supports combined output and return a "not supported" error if `.Output()`
gets invoked thus permanently failing those.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-11-15 18:50:40 +02:00
Travis Rhoden
0c5c3d8bb9
Remove pkg/util/mount (moved out of tree)
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.
2019-11-15 08:29:12 -07:00