Commit Graph

45522 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
5cb9622347 Merge pull request #111344 from aojea/kproxy_node_cidr
kube-proxy react on Node PodCIDR changes
2022-10-18 16:27:00 -07:00
Kubernetes Prow Robot
6ca045dce1 Merge pull request #113087 from dims/update-ecr-url-validation
(aws_credentials): update ecr url validation regex
2022-10-18 12:35:25 -07:00
Antonio Ojea
a38b9363ec kube-proxy handle node PodCIDR changs
Kube/proxy, in NodeCIDR local detector mode, uses the node.Spec.PodCIDRs
field to build the Services iptables rules.

The Node object depends on the kubelet, but if kube-proxy runs as a
static pods or as a standalone binary, it is not possible to guarantee
that the values obtained at bootsrap are valid, causing traffic outages.

Kube-proxy has to react on node changes to avoid this problems, it
simply restarts if detect that the node PodCIDRs have changed.

In case that the Node has been deleted, kube-proxy will only log an
error and keep working, since it may break graceful shutdowns of the
node.
2022-10-18 19:25:40 +00:00
Antonio Ojea
cf532a8e36 kube-proxy: gate topology correctly 2022-10-18 19:25:40 +00:00
Kubernetes Prow Robot
2522420937 Merge pull request #111601 from claudiubelu/skip-unittests
unit tests: Skip Windows-unrelated tests on Windows
2022-10-18 11:29:30 -07:00
Kubernetes Prow Robot
424a98ccc2 Merge pull request #109662 from astraw99/fix-prebind-pvc-update
Replace `DeepEqual` to `Diff` compare on scheduler-binding
2022-10-18 11:29:18 -07:00
Kubernetes Prow Robot
23721935d3 Merge pull request #113129 from chaunceyjiang/pr_remove_redundant_conversion
Remove redundant type conversion
2022-10-18 10:23:19 -07:00
Kubernetes Prow Robot
843ad71cac Merge pull request #113041 from saschagrunert/kubelet-pods-creation-time
Sort kubelet pods by their creation time
2022-10-18 09:17:19 -07:00
Kubernetes Prow Robot
deb6712358 Merge pull request #113137 from RomanBednar/restart-sync-unbound
restart claim sync when PVC is updated
2022-10-18 07:33:19 -07:00
Claudiu Belu
af77381e01 unit tests: Skip Windows-unrelated tests on Windows
Some of the unit tests cannot pass on Windows due to various reasons:

- fsnotify does not have a Windows implementation.
- Proxy Mode IPVS not supported on Windows.
- Seccomp not supported on Windows.
- VolumeMode=Block is not supported on Windows.
- iSCSI volumes are mounted differently on Windows, and iscsiadm is a
  Linux utility.
2022-10-18 12:43:07 +03:00
chaunceyjiang
d2b372e029 Remove redundant type conversion
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
2022-10-18 14:37:40 +08:00
Kubernetes Prow Robot
83415e5c9e Merge pull request #113125 from daschott/daschott/winkernel_owners
added daschott to proxier/winkernel owners
2022-10-17 19:53:40 -07:00
Kubernetes Prow Robot
2b6abb1b33 Merge pull request #113113 from kerthcet/fix/metics-in-scheduler
Fix metrics time durations in schedulerCycle and bindingCycle
2022-10-17 19:53:17 -07:00
daschott
fba80c8b89 added daschott to winkernel owners 2022-10-17 16:28:11 -07:00
Kubernetes Prow Robot
85643c0f93 Merge pull request #108501 from zroubalik/hpa
add `--concurrent-horizontal-pod-autoscaler-syncs` flag to kube-controller-manager
2022-10-17 14:13:18 -07:00
Kubernetes Prow Robot
28ced69b76 Merge pull request #113054 from logicalhan/proxy-metric
remove rate limiter metric as it is not in use
2022-10-17 11:09:18 -07:00
Kubernetes Prow Robot
521fbd7e6a Merge pull request #112521 from yuanchen8911/profile-config
Add a scheduler profile level parameter percentageOfNodesToScore
2022-10-17 11:09:06 -07:00
Zbynek Roubalik
1cefcdea2d add --concurrent-horizontal-pod-autoscaler-syncs flag to kube-controller-manager
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2022-10-17 17:39:31 +02:00
kerthcet
1582c42e2b Fix metrics time durations in schedulerCycle and bindingCycle
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-10-17 23:24:24 +08:00
Roman Bednar
f5693a4008 restart claim sync when PVC is updated
We should not rely on syncUnboundClaim() to do nothing after it updates
PVC with a default storage class until next re-sync but instead restart
the sync explicitly to make sure we hit isDelayBindingMode() and
findBestMatchForClaim() immediately right after the PVC update.
2022-10-17 14:05:39 +02:00
SataQiu
ba925a8393 scheduler: remove unused constant DefaultBindTimeoutSeconds from VolumeBinding plugin 2022-10-17 17:25:59 +08:00
Davanum Srinivas
09968e6c03 (aws_credentials): update ecr url validation regex
Updates the regex for ECR URL validation to support isolated regions
and includes additional testcases for these.

Signed-off-by: Jyoti Mahapatra <jyotima@amazon.com>
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-10-16 19:13:47 -04:00
Amim Knabben
c0d323f1f6 Fixing words in the comment 2022-10-15 15:54:41 -03:00
Kubernetes Prow Robot
6f579d3ceb Merge pull request #111616 from ndixita/credential-api-ga
Move the Kubelet Credential Provider feature to GA and Update the Credential Provider API to GA
2022-10-15 07:53:09 -07:00
Kubernetes Prow Robot
d754183866 Merge pull request #112163 from aojea/static_allocation_ga
graduate ServiceIPStaticSubrange to GA
2022-10-14 17:31:18 -07:00
Kubernetes Prow Robot
6705015101 Merge pull request #112133 from knabben/remove-kproxy-userspace
Remove kube-proxy userspace modes
2022-10-14 17:31:06 -07:00
Yuan Chen
7297f48f12 Add profile level percentageOfNodesToScore
Fix conversion errors

Changed the order

update

update

fix manaul coversions

keep the global parameter for backward compatibility

Address Wei's comments

Fix an error

Fix issues

Add unit tests for validation

Fix a comment

Address comments

Update comments

fix verifiation errors

Add tests for scheme_test.go

Convert percentageOfNodesToScore to pointer

Fix errors

Resolve conflicts

Fix testing errors

Address Wei's comments

Revert IntPtr to Int changes

Address comments

Not overrite percentageOfNodesToScore

Fix a bug

Fix a bug

change errs to err

Fix a nit

Remove duplication

Address comments

Fix lint warning

Fix an issue

Update comments

Clean up

Address comments

Revert changes to defaults

fix unit test error

Update

Fix tests

Use default PluginConfigs
2022-10-14 13:01:06 -07:00
Kubernetes Prow Robot
0ef0fa0e82 Merge pull request #112824 from gjkim42/promote-expandeddnsconfig-to-beta
Promote ExpandedDNSConfig feature to beta stage
2022-10-14 10:54:58 -07:00
Kubernetes Prow Robot
5e775e3c83 Merge pull request #112558 from aojea/ipam_owners
update sig-network reviewers/approvers on controller manager
2022-10-14 10:54:46 -07:00
Kubernetes Prow Robot
5c36a3c372 Merge pull request #110902 from 0xff-dev/master
convert int32 to pointer using library function
2022-10-14 08:48:46 -07:00
Kubernetes Prow Robot
9bedff1147 Merge pull request #112948 from mimowo/112873-fix-job-finished-metric
Fix the job finished metric issue due to the final job status update occasionally failing
2022-10-14 06:24:57 -07:00
Kubernetes Prow Robot
0207f7ae86 Merge pull request #112700 from SataQiu/fix-kubectl-20220923
Fix the bug that kubectl convert does not pick the right api version
2022-10-14 06:24:46 -07:00
Kubernetes Prow Robot
542ec97705 Merge pull request #113037 from pacoxu/fsnotify-v1.6.0
update fsnotify to v1.6.0
2022-10-13 23:00:57 -07:00
Kubernetes Prow Robot
d4ee6433b8 Merge pull request #112950 from Dingshujie/fix_ipvs
add rule to KUBE-SERVICES Chains to return early when source address match localhost
2022-10-13 23:00:46 -07:00
Kubernetes Prow Robot
040d7aaafa Merge pull request #112939 from lengrongfu/feat/update_preemption_victims_metric
feat: update preemption victims metric
2022-10-13 16:38:46 -07:00
Han Kang
2bbd445f50 remove rate limiter metric as it is not in use
Change-Id: I91157653e3860eeecc3f572aee88da6ffc65faed
2022-10-13 13:07:11 -07:00
lengrongfu
8dcd869665 feat: update preemption victims metric
Signed-off-by: lengrongfu <rongfu.leng@daocloud.io>
2022-10-14 02:45:21 +08:00
Kubernetes Prow Robot
01019770cf Merge pull request #112789 from enj/enj/r/kms_load_once_v2
Load encryption config once (second approach)
2022-10-13 11:25:02 -07:00
Michal Wozniak
b64e5b2d15 Fix the occasional double-counting job_finished_total metric
The reason for the issue is that the metrics were bumped before the
final job status update. In case the update failed the path was
repeated by the next syncJob leading to double-counting of the metrics.

The solution is to delay recording metrics and broadcasting events
after the job status update succeeds.
2022-10-13 17:23:03 +02:00
Monis Khan
f507bc2553 Load encryption config once
This change updates the API server code to load the encryption
config once at start up instead of multiple times.  Previously the
code would set up the storage transformers and the etcd healthz
checks in separate parse steps.  This is problematic for KMS v2 key
ID based staleness checks which need to be able to assert that the
API server has a single view into the KMS plugin's current key ID.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-10-13 10:52:29 -04:00
Sascha Grunert
b296f82c69 Sort kubelet pods by their creation time
There is a corner case when blocking Pod termination via a lifecycle
preStop hook, for example by using this StateFulSet:

```yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: ubi
  serviceName: "ubi"
  replicas: 1
  template:
    metadata:
      labels:
        app: ubi
    spec:
      terminationGracePeriodSeconds: 1000
      containers:
      - name: ubi
        image: ubuntu:22.04
        command: ['sh', '-c', 'echo The app is running! && sleep 360000']
        ports:
        - containerPort: 80
          name: web
        lifecycle:
          preStop:
            exec:
              command:
              - /bin/sh
              - -c
              - 'echo aaa; trap : TERM INT; sleep infinity & wait'
```

After creation, downscaling, forced deletion and upscaling of the
replica like this:

```
> kubectl apply -f sts.yml
> kubectl scale sts web --replicas=0
> kubectl delete pod web-0 --grace-period=0 --force
> kubectl scale sts web --replicas=1
```

We will end up having two pods running by the container runtime, while
the API only reports one:

```
> kubectl get pods
NAME    READY   STATUS    RESTARTS   AGE
web-0   1/1     Running   0          92s
```

```
> sudo crictl pods
POD ID              CREATED              STATE     NAME     NAMESPACE     ATTEMPT     RUNTIME
e05bb7dbb7e44       12 minutes ago       Ready     web-0    default       0           (default)
d90088614c73b       12 minutes ago       Ready     web-0    default       0           (default)
```

When now running `kubectl exec -it web-0 -- ps -ef`, there is a random chance that we hit the wrong
container reporting the lifecycle command `/bin/sh -c echo aaa; trap : TERM INT; sleep infinity & wait`.

This is caused by the container lookup via its name (and no podUID) at:
02109414e8/pkg/kubelet/kubelet_pods.go (L1905-L1914)

And more specifiy by the conversion of the pod result map to a slice in `GetPods`:
02109414e8/pkg/kubelet/kuberuntime/kuberuntime_manager.go (L407-L411)

We now solve that unexpected behavior by tracking the creation time of
the pod and sorting the result based on that. This will cause to always
match the most recently created pod.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2022-10-13 16:32:44 +02:00
Paco Xu
2ce7a81169 fsnotify: use event.Has instead of "event.Op&h == h" 2022-10-13 13:42:26 +08:00
Dixita Narang
20fa9635d6 Adding ndixita@ to KubeletCredentialProviders feature owner, and capitalizing GA 2022-10-12 17:12:17 +00:00
kidddddddddddddddddddddd
b901ef0f68 changes in test files 2022-10-12 22:11:04 +08:00
kidddddddddddddddddddddd
121d24cfc7 changes in non-test files 2022-10-12 21:09:55 +08:00
kidddddddddddddddddddddd
1eb9d42c3f function changes 2022-10-12 21:00:48 +08:00
Kubernetes Prow Robot
525280d285 Merge pull request #112643 from SergeyKanzhelev/removeDynamicKubeletConfig
remove DynamicKubeletConfig feature gate from the code
2022-10-12 01:33:00 -07:00
Kubernetes Prow Robot
5113b705d2 Merge pull request #112563 from kerthcet/cleanup/optimize-new-scheduler
Remove newScheduler for reducing complexity
2022-10-11 12:32:41 -07:00
Gunju Kim
add4652352 Promote ExpandedDNSConfig feature to the beta stage
This adds an e2e test for the feature and promotes ExpandedDNSConfig
feature to the beta stage.
2022-10-11 21:00:00 +09:00
DingShujie
e1f0b85334 Dismiss connects to localhost early in the service chain
Signed-off-by: DingShujie <dingshujie@huawei.com>
2022-10-11 13:57:35 +08:00