Commit Graph

40177 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
24a9d07bf8 Merge pull request #93166 from elweb9858/externalTrafficPolicyLocal
Implementing ExternalTrafficPolicy: local in winkernel kube-proxy via DSR
2020-10-31 07:30:51 -07:00
Kubernetes Prow Robot
bf67247124 Merge pull request #93258 from zshihang/token
mv TokenRequest and TokenRequestProjection to GA
2020-10-30 16:36:51 -07:00
elweb9858
1bcddb0747 Implementing ExternalTrafficPolicy: local in winkernel kube-proxy via DSR 2020-10-30 15:28:47 -07:00
Kubernetes Prow Robot
4b65f70652 Merge pull request #95740 from cici37/moveCCM
Move cloud-controller-manager to staging k8s.io/cloud-provider
2020-10-30 13:48:51 -07:00
Kubernetes Prow Robot
e9294c4ca7 Merge pull request #96037 from zshihang/jitter
add a jitter to bound token renewal
2020-10-30 12:48:51 -07:00
Shihang Zhang
96fb07d6b3 add a jitter to bound token renewal 2020-10-30 11:24:33 -07:00
Kubernetes Prow Robot
332d17c7f5 Merge pull request #95731 from farah/split-scheduler
Delete framework/v1alpha1 folder and change remaining import paths
2020-10-30 11:14:22 -07:00
Kubernetes Prow Robot
f78d095d52 Merge pull request #95894 from thockin/svc-default-on-read
Populate ClusterIPs on read
2020-10-30 04:46:05 -07:00
Kubernetes Prow Robot
f2ed1b5580 Merge pull request #96016 from cici37/informer
Move informer_factory to staging
2020-10-30 00:44:06 -07:00
Kubernetes Prow Robot
d0bee69fc9 Merge pull request #94636 from hprateek43/cpu_threads_parameter
Added config parameter for CPU threads
2020-10-29 21:04:05 -07:00
cici37
9465d95ea6 Move CCM to staging k8s.io/cloud-provider 2020-10-29 20:50:23 -07:00
Shihang Zhang
ff641f6eb2 mv TokenRequest and TokenRequestProjection to GA 2020-10-29 20:47:01 -07:00
Tim Hockin
a4c9330683 Populate ClusterIPs on read
Old stored services will not have the `clusterIPs` field when read back
without this.

This includes some renaming for clarity and expanded comments, and a new
test for default on read.
2020-10-29 20:40:39 -07:00
Kubernetes Prow Robot
ad6a2af7d8 Merge pull request #95531 from damemi/move-scheduler-helpers
Move MatchNodeSelectorTerms to k8s.io/component-helpers
2020-10-29 20:06:05 -07:00
Kubernetes Prow Robot
a71334b64c Merge pull request #95925 from deads2k/doc-events
Event: Document TTL and best-effort-ness
2020-10-29 17:40:22 -07:00
Kubernetes Prow Robot
e91cb0b1b5 Merge pull request #95196 from thockin/auto-wipe-linked-service-fields
Automatically wipe dependent fields on service "type" updates
2020-10-29 17:40:06 -07:00
cici37
a91a2cdad6 Move informer_factory to staging 2020-10-29 12:20:33 -07:00
Mike Dame
b7ba77c25b Move MatchNodeSelectorTerms to k8s.io/component-helpers 2020-10-29 13:39:13 -04:00
Kubernetes Prow Robot
917dcbabe1 Merge pull request #95985 from saschagrunert/psp-seccomp-annotation-fix
Fix seccomp PSP docker/default annotation handling
2020-10-29 09:10:59 -07:00
Sascha Grunert
5588f025e2 Fix seccomp PSP docker/default annotation handling
With the graduation of seccomp to GA we automatically convert the
deprecated seccomp profile annotation `docker/default` to
`runtime/default`. This means that we now have to automatically allow
`runtime/default` if a user specifies `docker/default` and vice versa in
an allowed PSP seccomp profile.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-10-29 14:08:14 +01:00
Kubernetes Prow Robot
2729b8e375 Merge pull request #95871 from damemi/move-unchanged-scheduler-helpers
Change function signature for MatchNodeSelectorTerms
2020-10-29 04:18:59 -07:00
Harsh Singh
1763688d71 Added config parameter for CPU threads 2020-10-29 12:16:10 +05:30
Kubernetes Prow Robot
5937e7eef7 Merge pull request #92343 from knight42/fix/flags-before-plugin
fix(kubectl): print error if users place flags before plugin name
2020-10-28 20:30:58 -07:00
Tim Hockin
4f8fb1d3ca Wipe some fields on service "type" updates
Service has had a problem since forever:

- User creates a service type=LoadBalancer
- We silently allocate them a NodePort
- User changes type to ClusterIP
- We fail the operation because they did not clear NodePort

They never asked for or used the NodePort!

Dual-stack introduced some dependent fields that get auto-wiped on
updates.  This carries it further.

If you squint, you can see Service as a big, messy discriminated union,
with type as the discriminator. Ignoring fields for non-selected
union-modes seems right.

This introduces the potential for an apply loop. Specifically, we will
accept YAML that we did not previously accept. Apply could see the
field in local YAML and not in the server and repeatedly try to patch it
in. But since that YAML is currently an error, it seems like a very low
risk. Almost nobody actually specifies their own NodePort values.

To mitigate this somewhat, we only auto-wipe on updates. The same YAML
would fail to create. This is a little inconsistent. We could
auto-wipe on create, too, at the risk of more potential impact.

To do this properly, we need to know the old and new values, which means
we can not do it in defaulting or conversion. So we do it in strategy.

This change also adds unit tests and updates e2e tests to rely on and
verify this behavior.
2020-10-28 10:41:26 -07:00
Tim Hockin
c5f3e560e4 Make some methods into non-methods 2020-10-28 10:41:26 -07:00
Kubernetes Prow Robot
a9e9cabbea Merge pull request #94676 from JornShen/fix_Test_Run_Positive_VolumeMountControllerAttachEnabledRace_data_trace
Fix flaky unit test Test_Run_Positive_VolumeMountControllerAttachEnabledRace data race
2020-10-27 23:31:56 -07:00
Kubernetes Prow Robot
2754cc23e2 Merge pull request #95801 from jingxu97/oct/owner
Add jingxu97 to volume/util owners
2020-10-27 14:26:11 -07:00
W. Trevor King
f95ec84322 Event: Document TTL and best-effort-ness
Generally try to waive away folks who see a particular event stream
and feel tempted to extrapolate and build tooling that expects the
same underlying resource transition chain to continue to produce a
similar event stream as the underlying components evolve and are
updated.  New controllers should not be constrained to be
backwards-compatible with previous versions with regard to Event
emission.  This is distinct from the Event type itself, which has the
usual Kubernetes-API compatibility commitments for versioned types.

The EventTTL default has been 1h since 7e258b85bd (Reduce TTL for
events in etcd from 48hrs to 1hr, 2015-03-11, #5315), and remains so
today:

  $ git --no-pager log -1 --format='%h %s' origin/master
  8e5c02255c Merge pull request #90942 from ii/ii-create-pod%2Bpodstatus-resource-lifecycle-test
  $ git --no-pager grep EventTTL: 8e5c02255c cmd/kube-apiserver/app/options/options.go
  8e5c02255cc:cmd/kube-apiserver/app/options/options.go:		EventTTL:               1 * time.Hour,

In this space [1,2]:

  To avoid filling up master's disk, a retention policy is enforced:
  events are removed one hour after the last occurrence.  To provide
  longer history and aggregation capabilities, a third party solution
  should be installed to capture events.
  ...
  Note: It is not guaranteed that all events happening in a cluster
  will be exported to Stackdriver.  One possible scenario when events
  will not be exported is when event exporter is not running
  (e.g. during restart or upgrade).  In most cases it's fine to use
  events for purposes like setting up metrics and alerts, but you
  should be aware of the potential inaccuracy.
  ...
  To prevent disturbing your workloads, event exporter does not have
  resources set and is in the best effort QOS class, which means that
  it will be the first to be killed in the case of resource
  starvation.

Although that's talking more about export from etcd -> external
storage, and not about cluster components submitting events to etcd.

[1]: https://kubernetes.io/docs/tasks/debug-application-cluster/events-stackdriver/
[2]: https://github.com/kubernetes/website/pull/4155/files#diff-d8eb69c5436aa38b396d4f3ed75e4792R10
2020-10-27 15:36:37 -04:00
Kubernetes Prow Robot
93fcb22e64 Merge pull request #95687 from tangwz/make_profile_an_interface
scheduler: make Profile an interface.
2020-10-27 11:41:26 -07:00
Kubernetes Prow Robot
94cedd9f14 Merge pull request #95720 from draveness/feature/topology-manager-format
style: update comments in topology manager
2020-10-27 10:36:38 -07:00
Kubernetes Prow Robot
1cb1005437 Merge pull request #95662 from SergeyKanzhelev/nilInterfaceInShouldRecordEvent
The function shouldRecordEvent will panic when the value of input obj…
2020-10-27 10:36:28 -07:00
Kubernetes Prow Robot
554319cce8 Merge pull request #95410 from benhxy/staticcheck
Fix static check for pkg/controller/podautoscaler
2020-10-27 10:36:14 -07:00
Mike Dame
d9f334683e Change function signature for MatchNodeSelectorTerms
As part of externalizing this function to the k8s.io/component-helpers repo,
this commit simplifies the function signature and makes its 2 helpers private
(nodeSelectorRequirementsAsSelector and nodeSelectorRequirementsAsFieldSelector).
2020-10-27 12:52:06 -04:00
Kubernetes Prow Robot
47943d5f9c Merge pull request #94109 from derekwaynecarr/cleanup-kubelet-todos
Cleanup kubelet TODOs that are no longer pertinent.
2020-10-26 23:49:59 -07:00
tangwz
5f3efa671d scheduler: make Profile an interface. 2020-10-27 09:13:04 +08:00
Kubernetes Prow Robot
6c5cda5a40 Merge pull request #95473 from troy0820/fix/validate-verb
Validate verb in auth can-i command
2020-10-26 16:23:59 -07:00
Kubernetes Prow Robot
3d6026499b Merge pull request #95235 from andrewsykim/controlplane-egress-selector
apiserver: support 'controlplane' as an egress selector type
2020-10-26 14:45:59 -07: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
Kubernetes Prow Robot
5ed903dbfd Merge pull request #95809 from alculquicondor/rebench-spread
Optimize NormalizeScore for PodTopologySpread
2020-10-26 11:23:02 -07:00
Kubernetes Prow Robot
c34a2c44a8 Merge pull request #95866 from JornShen/add_metrics_report_time_permit_change
Report a metric for time taken to perform recursive permission change
2020-10-26 10:25:37 -07:00
Kubernetes Prow Robot
bdde4fb8f5 Merge pull request #93040 from cmluciano/cml/ipvsschedmodules
ipvs: ensure selected scheduler kernel modules are loaded
2020-10-26 10:25:17 -07:00
Andrew Sy Kim
a0aebf96ec apiserver: support egress selection name 'controlplane' and deprecate 'master'
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-10-26 10:24:16 -04:00
jornshen
4ed7709774 Report a metric for time taken to perform recursive permission change 2020-10-26 21:04:30 +08:00
Christopher M. Luciano
51ed242194 ipvs: check for existence of scheduler module and fail if not found
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-10-23 17:17:44 -04:00
Kubernetes Prow Robot
f20a36f784 Merge pull request #95428 from roycaihw/cleanup/generalize-lease-controller
Generalize node lease controller
2020-10-23 13:43:02 -07:00
Ben Hu
4e62298c1b Fix static checks for pkg/controller/podautoscaler 2020-10-23 18:53:07 +00:00
Kubernetes Prow Robot
1fcd02cc2e Merge pull request #95812 from Huang-Wei/fix-pts-node-miss-label
Fix a bug that Pods with topologySpreadConstraints get scheduled to nodes without required labels
2020-10-23 09:55:57 -07:00
Aldo Culquicondor
e721576d55 Optimize NormalizeScore for PodTopologySpread
Change-Id: I928174a220c8c0f4b69180fdfb2f075278a482be
2020-10-23 11:15:15 -04:00
Aldo Culquicondor
ab7a38220f Add 5k nodes benchmark for pod topology spreading
Change-Id: I1a5ed73ba03570671c0a92277678c0f3f786385f
2020-10-23 11:15:15 -04:00
Kubernetes Prow Robot
ec453ffb1a Merge pull request #90691 from arjunrn/container-resource-hpa
Add container based scaling to HPA
2020-10-23 05:51:51 -07:00