Skip to content

Commit 01c75d9

Browse files
authored
CIS 2.15.0 Release (#3136)
1 parent e86dc0f commit 01c75d9

File tree

5 files changed

+112
-70
lines changed

5 files changed

+112
-70
lines changed

docs/RELEASE-NOTES.rst

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,36 @@
11
Release Notes for Container Ingress Services for Kubernetes & OpenShift
22
=======================================================================
33

4-
Next Release
4+
2.15.0
55
-------------
66

77
Added Functionality
88
```````````````````
99
**What's new:**
1010
* Multi Cluster
11-
* Support for a/b deployment custom persistence in ratio mode with cluster mode
11+
* Support for a/b deployment custom persistence in ratio mode with cluster mode. See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/tree/master/docs/config_examples/customResource/Policy/policy-with-ab-persistence.yaml>`_
12+
* Add support for cluster AdminState. See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/config_examples/multicluster/extendedConfigmap/global-spec-config-for-multicluster-with-cluster-admin-state.yaml>`_
1213
* Next Generation Routes
13-
* Moved from pod liveness probe based health monitor to readiness probe based health monitor for autoMonitor
14-
* Support for new route annotation **virtual-server.f5.com/pod-concurrent-connections**, See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/tree/master/docs/config_examples/next-gen-routes/routes>`_
14+
* Moved from pod liveness probe based health monitor to readiness probe based health monitor for autoMonitor. See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/config_examples/next-gen-routes/deployment/deployment-pod-with-readinessprobe.yaml>`_
15+
* Support for new route annotation **virtual-server.f5.com/pod-concurrent-connections**, See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/tree/master/docs/config_examples/next-gen-routes/routes/sample-route-with-pod-concurrent-connections-annotation.yaml>`_
1516
* CRD
16-
* `Issue 3062 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3062>`_: Support ConnectionMirroring in virtualserver and Transportserver CR
17+
* `Issue 3062 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3062>`_: Support ConnectionMirroring in virtualserver and Transportserver CR, See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/config_examples/customResource/VirtualServer/ConnectionMirroring/vs-with-connection-mirroring.yaml>`_
1718
* `Issue 2963 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/2963>`_: Support MinimumMonitors in virtualserver CR
18-
* `Issue 3126 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3126>`_: VirtualServer with hostGroup and ipamLabel set returns the wrong vsAddress status
19-
* Support for AS3 GTM agent with separate GTM server
20-
* Support for /ready endpoint to check the CIS health
19+
* Support for dedicated AS3 GTM agent for GTM Server
20+
* Support for new CIS health check endpoint /ready
2121
* Support for configuring node network CIDR for ovn-k8s CNI with staticRoutingMode.See `Documentation <https://github.com/F5Networks/k8s-bigip-ctlr/tree/master/docs/config_examples/StaticRoute>`_
22-
* Add support for AS3 3.48.0
22+
* CIS compatible with OpenShift 4.13, Kubernetes 1.28 and AS3 3.48
23+
* Improved Operator support for OpenShift 4.13
24+
2325
Bug Fixes
2426
````````````
25-
* `Issue 3057 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3057>`_: Support for pool settings for reslect with policy CR.
27+
* `Issue 3057 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3057>`_: Support for pool settings for reselect with policy CR.
2628
* `Issue 3061 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3061>`_: Provide stable pool name in multi cluster mode
2729
* `Issue 3079 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3079>`_: Fix logic for node not ready check
2830
* `Issue 3073 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3073>`_: Fix AS3 config map multi port service issue
2931
* `Issue 2985 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/2985>`_: Improve CIS primary and secondary coordination
30-
* `Issue 3066 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3066>`_: Support for a/b deployment custom persistence in CRD, nextGen routes with cluster mode
32+
* `Issue 3066 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3066>`_: Support for a/b deployment custom persistence in CRD, nextGen routes with cluster mode. See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/tree/master/docs/config_examples/customResource/Policy/policy-with-ab-persistence.yaml>`_
33+
* `Issue 3126 <https://github.com/F5Networks/k8s-bigip-ctlr/issues/3126>`_: VirtualServer with hostGroup and ipamLabel set returns the wrong vsAddress status
3134

3235
Upgrade notes
3336
``````````````

docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml

Lines changed: 89 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ spec:
4141
snat:
4242
type: string
4343
pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$'
44+
connectionMirroring:
45+
type: string
46+
enum: [ none, L4 ]
4447
tlsProfileName:
4548
type: string
4649
pattern: '^[a-zA-Z]+[-A-z0-9_.:]+[A-z0-9]+$'
@@ -283,6 +286,11 @@ spec:
283286
reference:
284287
type: string
285288
enum: [bigip]
289+
minimumMonitors:
290+
x-kubernetes-int-or-string: true
291+
anyOf:
292+
- type: integer
293+
- type: string
286294
reselectTries:
287295
type: integer
288296
minimum: 0
@@ -372,7 +380,7 @@ spec:
372380
jsonPath: .metadata.creationTimestamp
373381
subresources:
374382
status: {}
375-
383+
376384
---
377385
apiVersion: apiextensions.k8s.io/v1
378386
kind: CustomResourceDefinition
@@ -480,7 +488,7 @@ spec:
480488
policyName:
481489
type: string
482490
pattern: '^([A-z0-9-_+])*([A-z0-9])$'
483-
mode:
491+
mode:
484492
type: string
485493
enum: [standard, performance]
486494
type:
@@ -489,6 +497,9 @@ spec:
489497
snat:
490498
type: string
491499
pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$'
500+
connectionMirroring:
501+
type: string
502+
enum: [ none, L4 ]
492503
profiles:
493504
type: object
494505
properties:
@@ -592,25 +603,25 @@ spec:
592603
items:
593604
type: object
594605
properties:
595-
type:
596-
type: string
597-
enum: [ tcp, udp, http, https ]
598-
interval:
599-
type: integer
600-
timeout:
601-
type: integer
602-
targetPort:
603-
type: integer
604-
name:
605-
type: string
606-
pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$'
607-
reference:
608-
type: string
609-
enum: [bigip]
610-
send:
611-
type: string
612-
recv:
613-
type: string
606+
type:
607+
type: string
608+
enum: [ tcp, udp, http, https ]
609+
interval:
610+
type: integer
611+
timeout:
612+
type: integer
613+
targetPort:
614+
type: integer
615+
name:
616+
type: string
617+
pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$'
618+
reference:
619+
type: string
620+
enum: [bigip]
621+
send:
622+
type: string
623+
recv:
624+
type: string
614625
reselectTries:
615626
type: integer
616627
minimum: 0
@@ -635,8 +646,8 @@ spec:
635646
- type: integer
636647
- type: string
637648
required:
638-
- service
639-
- servicePort
649+
- service
650+
- servicePort
640651
required:
641652
- virtualServerPort
642653
- pool
@@ -651,37 +662,37 @@ spec:
651662
type: string
652663
default: Pending
653664
additionalPrinterColumns:
654-
- name: virtualServerAddress
655-
type: string
656-
description: IP address of virtualServer
657-
jsonPath: .spec.virtualServerAddress
658-
- name: virtualServerPort
659-
type: integer
660-
description: Port of virtualServer
661-
jsonPath: .spec.virtualServerPort
662-
- name: pool
663-
type: string
664-
description: Name of service
665-
jsonPath: .spec.pool.service
666-
- name: poolPort
667-
type: string
668-
description: Port of service
669-
jsonPath: .spec.pool.servicePort
670-
- name: ipamLabel
671-
type: string
672-
description: ipamLabel for transport server
673-
jsonPath: .spec.ipamLabel
674-
- name: IPAMVSAddress
675-
type: string
676-
description: IP address of transport server
677-
jsonPath: .status.vsAddress
678-
- name: STATUS
679-
type: string
680-
description: status of TransportServer
681-
jsonPath: .status.status
682-
- name: Age
683-
type: date
684-
jsonPath: .metadata.creationTimestamp
665+
- name: virtualServerAddress
666+
type: string
667+
description: IP address of virtualServer
668+
jsonPath: .spec.virtualServerAddress
669+
- name: virtualServerPort
670+
type: integer
671+
description: Port of virtualServer
672+
jsonPath: .spec.virtualServerPort
673+
- name: pool
674+
type: string
675+
description: Name of service
676+
jsonPath: .spec.pool.service
677+
- name: poolPort
678+
type: string
679+
description: Port of service
680+
jsonPath: .spec.pool.servicePort
681+
- name: ipamLabel
682+
type: string
683+
description: ipamLabel for transport server
684+
jsonPath: .spec.ipamLabel
685+
- name: IPAMVSAddress
686+
type: string
687+
description: IP address of transport server
688+
jsonPath: .status.vsAddress
689+
- name: STATUS
690+
type: string
691+
description: status of TransportServer
692+
jsonPath: .status.status
693+
- name: Age
694+
type: date
695+
jsonPath: .metadata.creationTimestamp
685696
subresources:
686697
status: { }
687698
---
@@ -1031,4 +1042,27 @@ spec:
10311042
enum: [ default, auto, disable ]
10321043
snat:
10331044
type: string
1034-
pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$'
1045+
pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$'
1046+
poolSettings:
1047+
type: object
1048+
properties:
1049+
reselectTries:
1050+
type: integer
1051+
minimum: 0
1052+
maximum: 65535
1053+
serviceDownAction:
1054+
type: string
1055+
slowRampTime:
1056+
type: integer
1057+
minimum: 0
1058+
maximum: 900
1059+
multiPoolPersistence:
1060+
type: object
1061+
properties:
1062+
method:
1063+
type: string
1064+
enum: [ uieSourceAddress, hashSourceAddress ]
1065+
timeOut:
1066+
type: integer
1067+
minimum: 1
1068+
default: 180

docs/config_examples/multicluster/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,9 @@ while computing the final ratio.<br>
503503
**Note:**
504504
* Cluster wise ratio for traffic distribution is supported in HA as well as non-HA CIS environment.
505505
* Ratio is only supported for NextGen Routes and Virtual Server CR.
506+
* Setting cluster adminState in conjunction with cluster ratio will affect the overall traffic distribution across clusters.
507+
As the clusters marked as disable or offline will not receive traffic, so any ratio defined for these clusters will be rendered ineffective.
508+
Thus, in such a scenario it's recommended to set the cluster ratio to 0 for all the clusters marked with disable/offline.
506509

507510
### Cluster adminState to enable/disable/offline a cluster
508511
adminState can be provided for a cluster to dictate the state of a particular cluster.

docs/upgradeProcess.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Compatibility Matrix
4141
| v2.13.0 | v16.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.25 | Red Hat Enterprise Linux release 9.1 (Plow) |
4242
| v2.13.1 | v16.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.25 | Red Hat Enterprise Linux release 9.1 (Plow) |
4343
| v2.14.0 | v17.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.26 | Red Hat Enterprise Linux release 9.1 (Plow) |
44-
| v2.15.0 | v17.0 | v1.27 | v4.12.0* | Yes | Yes | v3.48 | v0.1.9 | v0.0.4 | v0.0.26 | Red Hat Enterprise Linux release 9.1 (Plow) |
44+
| v2.15.0 | v17.0 | v1.28 | v4.13.0* | Yes | Yes | v3.48 | v0.1.9 | v0.0.4 | v0.0.27 | Red Hat Enterprise Linux release 9.1 (Plow) |
4545

4646
Note: For OCP version 4.12, CIS is compatible with IPv4 and dual stack IPv4.
4747

@@ -51,7 +51,7 @@ Compatibility Matrix for Multi Cluster Support
5151
| CIS Version | BIG-IP Version | Kubernetes Version | OpenShift Version | NodePort | SDN | OVN (Cluster Mode) | AS3 Version | CIS Chart Version |
5252
|-------------|----------------|--------------------|-------------------|----------|-----|--------------------|-------------|-------------------|
5353
| v2.14.0 | v16.0 | v1.27 | v4.12.0 | Yes | No | Yes | v3.45 | v0.0.26 |
54-
| v2.15.0 | v16.0 | v1.27 | v4.12.0 | Yes | No | Yes | v3.48 | v0.0.26 |
54+
| v2.15.0 | v16.0 | v1.28 | v4.13.0 | Yes | No | Yes | v3.48 | v0.0.27 |
5555

5656

5757
CIS Features and Examples
@@ -344,4 +344,6 @@ Refer Release Notes for [CIS v2.13.1](https://github.com/F5Networks/k8s-bigip-ct
344344

345345
### **Upgrading from 2.14.0 to 2.15.0:**
346346
* Disabled default health monitoring with routes, use autoMonitor support for NextGenRoutes. See `Example <https://github.com/F5Networks/k8s-bigip-ctlr/tree/master/docs/config_examples/next-gen-routes/configmap/extendedRouteConfigwithBaseConfigWithAutoMonitor.yaml>`_
347-
* `Issue 777 <https://github.com/F5Networks/f5-appsvcs-extension/issues/777>`_: Cluster adminState in multiCluster mode doesn't work properly with AS3 (v3.47 and v3.48) as updating pool member adminState from enable to offline fails with 422 error with AS3 (v3.47 and v3.48). If customer needs this feature, we recommend to use AS3 v3.46 or lower on BIGIP.
347+
* `Issue 777 <https://github.com/F5Networks/f5-appsvcs-extension/issues/777>`_: Cluster adminState in multiCluster mode doesn't work properly with AS3 (v3.47 and v3.48) as updating pool member adminState from enable to offline fails with 422 error with AS3 (v3.47 and v3.48). If customer needs this feature, we recommend to use AS3 v3.46 or lower on BIGIP.
348+
349+
Refer Release Notes for [CIS v2.15](https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/RELEASE-NOTES.rst)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
apiVersion: v1
22
description: Deploy the F5 Networks BIG-IP Controller for Kubernetes and OpenShift (k8s-bigip-ctlr).
33
name: f5-bigip-ctlr
4-
version: 0.0.26
4+
version: 0.0.27

0 commit comments

Comments
 (0)