Commit Graph

229 Commits

Author SHA1 Message Date
Maciej Szulik
2e74df97a4
Introduce kubectl-convert plugin 2020-11-06 12:04:36 +01:00
Shihang Zhang
d40f0c43c4 separate RootCAConfigMap from BoundServiceAccountTokenVolume 2020-11-04 17:10:39 -08:00
Kubernetes Prow Robot
468f9f6cac
Merge pull request #96138 from verb/1.20-cli-debug-unalpha
Remove alpha from kubectl debug command invocation
2020-11-04 14:47:07 -08:00
knight42
00e4234cc9
fix: pass bearer token to curl using -H instead of --oauth2-bearer
The flag `--oauth2-bearer` might have no effect in some environment.

Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-11-05 01:15:19 +08:00
Lee Verberne
30262e9b14 Remove alpha from kubectl debug 2020-11-04 17:45:28 +01:00
knight42
3c4d6859c8
refactor: migrate health checks of control-plane off insecure port in tests
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-10-31 11:39:25 +08:00
Kubernetes Prow Robot
1968e96165
Merge pull request #95856 from knight42/refactor/disable-apiserver-insecure-port
refactor(apiserver): disable insecure port
2020-10-29 10:47:58 -07:00
knight42
cfc2b330a7
refactor(apiserver): ignore the insecure flags
Leave the insecure flags intact but stop serving on insecure port.
2020-10-29 23:20:17 +08:00
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Lee Verberne
d0503b228f Add integration test for kubectl debug 2020-10-21 11:13:46 +02:00
Kubernetes Prow Robot
d9b576d61e
Merge pull request #93384 from zhouya0/support_kubectl_delete_foreground
Support kubectl delete orphan/foreground/background options
2020-09-23 23:58:04 -07:00
knight42
57619aa9d7
test(apply): deflake run_kubectl_apply_tests
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-09-17 22:51:19 +08:00
Kubernetes Prow Robot
0a02eda2a2
Merge pull request #94380 from julianvmodesto/update-diff-csa-to-ssa-test
Ensure `kubectl diff --server-side` does not conflict with client-side apply
2020-09-16 01:25:20 -07:00
Julian V. Modesto
690c6b2f25 Update kubectl diff --server-side test.
In 1.19, we made it so that upgrading from client-side `kubectl apply`
to server-side `kubectl apply --server-side` does not conflict.

This means that `kubectl diff --server-side` should work the same:
server-side apply diffing a resource managed originally with client-side apply
should not result in conflicts.
2020-08-31 15:49:44 -04:00
zhouya0
383b5f6766 Support kubectl delete foreground 2020-08-28 11:52:40 +08:00
Abu Kashem
01619cfaf6
Add impersonated user to system:authenticated group
Currently if a group is specified for an impersonated user,
'system:authenticated' is not added to the 'Groups' list inside the
request context.
This causes priority and fairness match to fail. The catch-all flow
schema needs the user to be in the 'system:authenticated' or in the
'system:unauthenticated' group. An impersonated user with a specified
group is in neither.

As a general rule, if an impersonated user has passed authorization
checks, we should consider him authenticated.
2020-08-25 14:53:01 -04:00
knight42
3cb3356645
test(kubectl): deflake run_kubectl_apply_tests
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-08-14 11:12:42 +08:00
knight42
cbf8ec4e2d
fix: deflake run_kubectl_apply_tests
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-08-05 23:27:34 +08:00
Kubernetes Prow Robot
6079cebfae
Merge pull request #90187 from julianvmodesto/last-applied-updater
Implement server-side apply upgrade and downgrade
2020-07-13 16:45:20 -07:00
Julian V. Modesto
e4368eb67e Implement server-side apply upgrade & downgrade.
- Allow client-side to server-side apply upgrade.

  Ensure that a user can change management of an object from client-side apply to
  server-side apply without conflicts.

- Allow server-side apply to client-side downgrade.

  For an object managed with client-side apply, a user may upgrade to
  managing the object with server-side apply, then decide to downgrade.

  We can support this downgrade by keeping the last-applied-configuration
  annotation for client-side apply updated with server-side apply.
2020-07-08 19:14:03 -04:00
Anders Eknert
c595f983fa Move kube_flags_without_token creation 2020-07-06 21:55:23 +02:00
Anders Eknert
b423216a3b Presence of bearer token should cancel exec action
If a bearer token is present in a request, the exec credential plugin should accept that as the chosen method of authentication. Judging by an [earlier comment in exec.go](c18bc7e9f7/staging/src/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go (L217)), this was already intended. This would however not work since UpdateTransportConfig would set the GetCert callback which would then get called by the transport, triggering the exec plugin action even with a token present in the request. See linked issue for further details.

See #87369 for further details.

Signed-off-by: Anders Eknert <anders.eknert@bisnode.com>
2020-07-02 12:12:32 +02:00
Kubernetes Prow Robot
e529bd0bca
Merge pull request #92404 from BenTheElder/agnhost-primary2
s/master/primary in agnhost guestbook usage
2020-06-25 05:30:37 -07:00
Benjamin Elder
f2b2d44614 s/master/primary in agnhost guestbook usage 2020-06-24 12:14:33 -07:00
Jordan Liggitt
a2dd5112c0 go1.14: fix test/cmd timeout message check 2020-06-23 19:04:43 -04:00
Kubernetes Prow Robot
1faf097f3f
Merge pull request #88649 from oke-py/remove-deprecated-export
Remove --export flag from kubectl get command.
2020-06-18 15:19:10 -07:00
Naoki Oketani
c0562815fa Remove --export flag from kubectl get command. 2020-06-17 18:35:03 +09:00
Jordan Liggitt
0d674c4edb cmd: silence warnings in kube-controller-manager/kube-apiserver, dedupe/color warnings in kubectl 2020-06-11 16:04:19 -04:00
Brian Pursley
f5dc5300c6 Replaced 4 kube::test::get_object_assert() calls with 1 call using regex to match all combinations 2020-06-09 08:35:54 -04:00
Rares Folea
d6b55b4469
Fix typo test/cmd/README
Typo in `Adding Tests` section
2020-06-02 14:50:55 +03:00
Kubernetes Prow Robot
83f343011f
Merge pull request #91308 from julianvmodesto/remove-deprecated-server-dry-run-flag
Remove deprecated --server-dry-run from kubectl apply
2020-05-29 01:05:35 -07:00
Kubernetes Prow Robot
8b3c00c661
Merge pull request #89799 from julianvmodesto/patcher
Make kubectl client-side apply with server-side dry-run safer
2020-05-27 20:50:02 -07:00
Kubernetes Prow Robot
7c3f7065db
Merge pull request #91113 from soltysh/create_deployment
Refactor create deployment and add --port flag
2020-05-26 23:24:54 -07:00
Maciej Szulik
ed1a0e9456
Refactor create deployment and add --port flag 2020-05-26 17:33:28 +02:00
Kubernetes Prow Robot
f097cee156
Merge pull request #90960 from zhouya0/fix_kubectl_create_secret_docker_registry
Fix kubectl create secret docker-registry --from-file
2020-05-26 05:39:12 -07:00
Kubernetes Prow Robot
97145d685c
Merge pull request #91077 from brianpursley/kubectl-501-2
Changed kubectl config set-cluster and set-credentials to support process substitution for filenames
2020-05-20 16:45:25 -07:00
Julian V. Modesto
3e93f99262 Remove deprecated --server-dry-run.
For the beta server-side dry-run feature, `kubectl apply` provided the
`--server-dry-run` flag.

As of 1.18, this flag was deprecated and marked to be removed after 1
release.
2020-05-20 16:53:53 -04:00
Julian V. Modesto
f0eb68c0cf Make client-side apply safer
- Remove the ServerDryRun field and delegate it entirely to the resource.Helper
- Use resource.Helper for deletions (as in `kubectl apply --force`)
instead of using the pruner's method that uses a dynamic client
- Reduce the resource.Helpers and times we check for server-side dry-run
in apply
2020-05-19 17:01:47 -04:00
Brian Pursley
84d5e664af Changed kubectl config set-cluster and set-credentials to support process substitution for filenames 2020-05-15 09:22:59 -04:00
zhouya0
bbf41448f6 Fix kubectl create secret docker-registry 2020-05-15 12:14:03 +08:00
Julian V. Modesto
360c348d0e Set kubectl field manager names 2020-05-09 13:24:39 -04:00
Kubernetes Prow Robot
775feed217
Merge pull request #90018 from wojtek-t/deprecate_default_conversions
Deprecate default conversions
2020-04-23 10:23:10 -07:00
Maciej Szulik
a871738c86
Revert "stop defaulting kubeconfig to http://localhost:8080"
This reverts commit b19ad9e7a7.
2020-04-17 16:37:15 +02:00
Kubernetes Prow Robot
b0806d0c02
Merge pull request #90165 from ScrapCodes/fix_flake_run_apply
Fixed flaky test by changing get_object_assert -> wait_object_assert.
2020-04-16 08:38:59 -07:00
Prashant Sharma
5a765b1e15 Changed get_object_assert -> wait_object_assert, to fix the flaky test. 2020-04-16 10:01:18 +05:30
Kubernetes Prow Robot
4bba193bea
Merge pull request #89666 from julianvmodesto/kubectl-scale-dry-run
Support kubectl scale --dry-run=server|client
2020-04-11 10:45:47 -07:00
wojtekt
f624314f91 Fix multiple conversion tests 2020-04-10 17:03:35 +02:00
Kubernetes Prow Robot
897c10e7b2
Merge pull request #89551 from zlabjp/restore-kubectl-prune-multiple-namespaces
Restore the ability to `kubectl apply --prune` without -n flag
2020-04-09 07:49:43 -07:00
Tatsuhiro Tsujikawa
7af3b01f24 Restore the ability to kubectl apply --prune without -n flag
Before https://github.com/kubernetes/kubernetes/pull/83084, `kubectl
apply --prune` can prune resources in all namespaces specified in
config files.  After that PR got merged, only a single namespace is
considered for pruning.  It is OK if namespace is explicitly specified
by --namespace option, but what the PR does is use the default
namespace (or from kubeconfig) if not overridden by command line flag.
That breaks the existing usage of `kubectl apply --prune` without
--namespace option.  If --namespace is not used, there is no error,
and no one notices this issue unless they actually check that pruning
happens.  This issue also prevents resources in multiple namespaces in
config file from being pruned.

kubectl 1.16 does not have this bug.  Let's see the difference between
kubectl 1.16 and kubectl 1.17.  Suppose the following config file:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: foo
  namespace: a
  labels:
    pl: foo
data:
  foo: bar
---
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: bar
  namespace: a
  labels:
    pl: foo
data:
  foo: bar
```

Apply it with `kubectl apply -f file`.  Then comment out ConfigMap foo
in this file.  kubectl 1.16 prunes ConfigMap foo with the following
command:

$ kubectl-1.16 apply -f file -l pl=foo --prune
configmap/bar configured
configmap/foo pruned

But kubectl 1.17 does not prune ConfigMap foo with the same command:

$ kubectl-1.17 apply -f file -l pl=foo --prune
configmap/bar configured

With this patch, kubectl once again can prune the resource as before.
2020-04-09 02:54:10 +00:00
Lubomir I. Ivanov
9bbd321fec remove /cluster/kubeadm.sh and /test/cmd/kubeadm.sh
/cluster/kubeadm.sh is used to find the kubeadm binary.
This file is legacy and is removed.

Remove /test/cmd/kubeadm.sh. This file contains a function that is used
to build kubeadm and invoke "make test". Move the function contents
to hack/make-rules/test-cmd.cmd.

Stop sourcing /test/cmd/kubeadm.sh in /test/cmd/legacy-script.sh.

Also remove the --kubeadm-path invocation as this can be handled
with an env. variable directly.
2020-04-09 00:47:15 +03:00