Skip to content

Commit 8ce40ad

Browse files
authored
Merge pull request kubernetes#2709 from rikatz/endport-beta
Propose EndPort graduation to Beta
2 parents f7cb622 + 9086f9a commit 8ce40ad

File tree

3 files changed

+28
-22
lines changed

3 files changed

+28
-22
lines changed
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
kep-number: 2079
22
alpha:
3-
approver: "@wojtek-t"
3+
approver: "@wojtek-t"
4+
beta:
5+
approver: "@wojtek-t"

keps/sig-network/2079-network-policy-port-range/README.md

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ validation should be done by CNIs.
199199

200200
#### Beta
201201
- `EndPort` has been supported for at least 1 minor release
202-
- Four commonly used NetworkPolicy (or CNI providers) implement the new field,
202+
- Three commonly used NetworkPolicy (or CNI providers) implement the new field,
203203
with generally positive feedback on its usage.
204204
- Feature Gate is enabled by Default.
205205

@@ -220,7 +220,6 @@ start working incorrectly. This is a fail-closed failure, so it is acceptable.
220220

221221
### Feature Enablement and Rollback
222222

223-
_This section must be completed when targeting alpha to a release._
224223

225224
* **How can this feature be enabled / disabled in a live cluster?**
226225
- [X] Feature gate (also fill in values in `kep.yaml`)
@@ -253,7 +252,7 @@ _This section must be completed when targeting alpha to a release._
253252

254253
* **Are there any tests for feature enablement/disablement?**
255254

256-
No - unit tests will be added later.
255+
Yes and they can be found [here](https://github.com/kubernetes/kubernetes/blob/release-1.21/pkg/registry/networking/networkpolicy/strategy_test.go#L284)
257256

258257
### Rollout, Upgrade and Rollback Planning
259258

@@ -266,7 +265,8 @@ _This section must be completed when targeting beta graduation to a release._
266265
The increase of 5xx http error count on Network Policies Endpoint
267266

268267
* **Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?**
269-
This will be done.
268+
Yes, with unit tests.
269+
There's still some need to make manual tests, that will be done in a follow up.
270270

271271
* **Is the rollout accompanied by any deprecations and/or removals of features, APIs,
272272
None
@@ -280,13 +280,25 @@ _This section must be completed when targeting beta graduation to a release._
280280
an object specifying the range and validating if the traffic is allowed within
281281
the specified range
282282

283+
* **How can someone using this feature know that it is working for their instance?
284+
- [x] Other
285+
- Details:
286+
The API Field must be present when a NetworkPolicy is created with that field.
287+
The feature working correctly depends on the CNI implementation, so the operator can
288+
look into CNI metrics to check if the rules are being applied correctly, like Calico
289+
that provides metrics like `felix_iptables_restore_errors` that can be used to
290+
verify if the amount of restoring errors raised after the feature being applied.
291+
We might need in a future to add some Status field that allows CNI providers to provide
292+
feedback about the functionality
293+
283294
* **What are the SLIs (Service Level Indicators) an operator can use to determine
284295
the health of the service?**
285-
Operators would need to monitor the traffic of the Pods to verify if a
286-
specified port range is applied and allowed in their workloads
296+
Operators can use metrics provided by the CNI to use as SLI, like
297+
`felix_iptables_restore_errors` from Calico to verify if the errors rate
298+
has raised.
287299

288300
* **What are the reasonable SLOs (Service Level Objectives) for the above SLIs?**
289-
N/A
301+
- per-day percentage of API calls finishing with 5XX errors <= 1% is a reasonable SLO
290302

291303
* **Are there any missing metrics that would be useful to have to improve observability
292304
of this feature?**
@@ -296,19 +308,11 @@ of this feature?**
296308
### Dependencies
297309

298310
* **Does this feature depend on any specific services running in the cluster?**
299-
No
311+
Yes, a CNI supporting the new feature
300312

301313

302314
### Scalability
303315

304-
_For alpha, this section is encouraged: reviewers should consider these questions
305-
and attempt to answer them._
306-
307-
_For beta, this section is required: reviewers must answer these questions._
308-
309-
_For GA, this section is required: approvers should be able to confirm the
310-
previous answers based on experience in the field._
311-
312316
* **Will enabling / using this feature result in any new API calls?**
313317
No
314318

@@ -337,8 +341,6 @@ resource usage (CPU, RAM, disk, IO, ...) in any components?**
337341

338342
### Troubleshooting
339343

340-
_This section must be completed when targeting beta graduation to a release._
341-
342344
* **How does this feature react if the API server and/or etcd is unavailable?**
343345
As this feature is mainly used by CNI providers, the reaction with API server
344346
and/or etcd being unavailable will be the same as before.
@@ -347,9 +349,11 @@ _This section must be completed when targeting beta graduation to a release._
347349
N/A
348350

349351
* **What steps should be taken if SLOs are not being met to determine the problem?**
350-
N/A
352+
Remove EndPort field and check if the number of errors reduce, although this might
353+
lead to undesired Network Policy, blocking previously working rules.
351354

352355
## Implementation History
356+
- 2021-05-11 Propose Beta graduation and add more Performance Review data
353357
- 2020-10-08 Initial [KEP PR](https://github.com/kubernetes/enhancements/pull/2079)
354358

355359
## Drawbacks

keps/sig-network/2079-network-policy-port-range/kep.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ approvers:
1313
- "@thockin"
1414

1515
# The target maturity stage in the current dev cycle for this KEP.
16-
stage: alpha
16+
stage: beta
1717

1818
# The most recent milestone for which work toward delivery of this KEP has been
1919
# done. This can be the current (upcoming) milestone, if it is being actively
2020
# worked on.
21-
latest-milestone: "v1.21"
21+
latest-milestone: "v1.22"
2222

2323
# The milestone at which this feature was, or is targeted to be, at each stage.
2424
milestone:

0 commit comments

Comments
 (0)