Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added TaintedBrokersSelector to kafkaClusterSpec #48

Merged
merged 3 commits into from
Aug 11, 2022

Conversation

azun
Copy link

@azun azun commented Jul 27, 2022

Q A
Bug fix? no
New feature? yes
API breaks? no
Deprecations? no
Related tickets
License Apache 2.0

What's in this PR?

Added label selector for broker pods that need to be recycled during reconcile

Why?

Labeling pods for recycle can be used for rolling restarts or to offload rescheduling of the pods to the operator when nodes are tainted

Additional context

Checklist

  • Implementation tested
  • Error handling code meets the guideline
  • Logging code meets the guideline
  • User guide and development docs updated (if needed)

@amuraru
Copy link

amuraru commented Jul 27, 2022

Please rebase our master branch first against banzaicloud/koperator
banzaicloud@e5722ba is already there
and keep only the changes related to this PR

Copy link

@ecojan ecojan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Outside of comments from the other review, this looks good!

config/base/crds/kafka.banzaicloud.io_kafkatopics.yaml Outdated Show resolved Hide resolved
@azun azun force-pushed the broker-pod-taint-labels branch from 784c295 to bb59901 Compare July 29, 2022 12:01
@azun azun force-pushed the broker-pod-taint-labels branch from 3c6cde6 to b4216cd Compare August 1, 2022 12:26
pkg/resources/kafka/kafka.go Show resolved Hide resolved
@amuraru
Copy link

amuraru commented Aug 11, 2022

@azun can you please move forward this PR?

@azun azun merged commit 6da51fd into master Aug 11, 2022
@azun azun deleted the broker-pod-taint-labels branch August 11, 2022 13:29
amuraru added a commit that referenced this pull request Aug 22, 2022
amuraru added a commit that referenced this pull request Sep 10, 2022
alungu pushed a commit that referenced this pull request Jan 5, 2023
aguzovatii pushed a commit to aguzovatii/koperator that referenced this pull request Mar 22, 2023
aguzovatii pushed a commit to aguzovatii/koperator that referenced this pull request Mar 22, 2023
aguzovatii pushed a commit to aguzovatii/koperator that referenced this pull request Mar 23, 2023
amuraru added a commit that referenced this pull request May 16, 2023
ctrlaltluc added a commit that referenced this pull request May 19, 2023
* [INTERNAL] [BUILD] Publish docker images to adobe/kafka-operator and adobe/kafka docker hub repos

- build the koperator docker image
- build Apache kafka docker image
When `kafka-*` tags are created a github action is triggered
to build and push a new adobe/kafka docker image version

* [INTERNAL] make manifests should be called manually, if needed (#25)

We made some chnages for spinnaker annotations and `preserveUnknownFields` that would be overriden by `make manifests`

* [INTERNAL] Allow Kafka to use External DNS for inter-broker protocol (#17) (#22)

* [INTERNAL] Allow external listeners to be used for inner communication (#26)

* [INTERNAL] Ensure external listerners are always the first the advertised.listeners configuration

This is needed for old clients connecting to kafka through Zookeeper that does not have a way
to infer the right listener.
In this case, the first listener in the advertised.listener config is used to connect to brokers.
This patch ensures the external listeners (those reachable from outside) are listed before internal ones

* [INTERNAL] Generate CRDs resources

* [INTERNAL] Upgrade to Kafka 2.8.1 (#36)

* Enable envoy idleTimeout and TCP keep-alive for connections to kafka and clients

1/ Kafka broker defines connections.max.idle.ms=600s
To ensure envoy as a client for kafka broker is terminating
the connection first to avoid network disconnects
this patch is setting the idleTimeout to value slightly less
than that

2/ Enable tcp-keep alive for all TCP connections established by envoy to kafka
and to client (or fronting Load Balancer)

* Enable envoy tls termination (#41)

* [INTERNAL] Build kafka 3.1.1 using Oracle OpenJDK

* Envoy config generated by the operator is invalid in envoy 1.22


Added explicit typeconfig for envoy.filters.http.router

```
[2022-06-16 13:27:58.425][1][info][main] [source/server/server.cc:939] exiting
Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''
```

* Added TaintedBrokersSelector to kafkaClusterSpec (#48)

Co-authored-by: Adrian Muraru <[email protected]>

* Build kafka 3.2.2

* Upgrade kafka to 3.2.3

* Upgrade kafka to 3.3.1

* [Internal] Update helm for adobe builds (#52)

* [INTERNAL] Use local replacement for sub-modules (#54)

As part of banzaicloud#929, the local
replacement for sub-modules was removed in favor of using valid tags.
Adobe Koperator fork has some internal changes in the api sub-module,
so we need to use the local version of the sub-module instead of
the upstream version, so we are  forced to revert the changes from banzaicloud#929.

* Upgrade kafka to 3.4.0

---------

Co-authored-by: Adi Muraru <[email protected]>
Co-authored-by: Adrian Lungu <[email protected]>
Co-authored-by: Razvan Dobre <[email protected]>
Co-authored-by: Adrian Muraru <[email protected]>
Co-authored-by: Adrian Coman <[email protected]>
Co-authored-by: aguzovatii <[email protected]>
ctrlaltluc pushed a commit that referenced this pull request Jun 8, 2023
ctrlaltluc added a commit that referenced this pull request Jun 8, 2023
* [INTERNAL] [BUILD] Publish docker images to adobe/kafka-operator and adobe/kafka docker hub repos

- build the koperator docker image
- build Apache kafka docker image
When `kafka-*` tags are created a github action is triggered
to build and push a new adobe/kafka docker image version

* [INTERNAL] make manifests should be called manually, if needed (#25)

We made some chnages for spinnaker annotations and `preserveUnknownFields` that would be overriden by `make manifests`

* [INTERNAL] Allow Kafka to use External DNS for inter-broker protocol (#17) (#22)

* [INTERNAL] Allow external listeners to be used for inner communication (#26)

* [INTERNAL] Ensure external listerners are always the first the advertised.listeners configuration

This is needed for old clients connecting to kafka through Zookeeper that does not have a way
to infer the right listener.
In this case, the first listener in the advertised.listener config is used to connect to brokers.
This patch ensures the external listeners (those reachable from outside) are listed before internal ones

* [INTERNAL] Generate CRDs resources

* [INTERNAL] Upgrade to Kafka 2.8.1 (#36)

* Enable envoy idleTimeout and TCP keep-alive for connections to kafka and clients

1/ Kafka broker defines connections.max.idle.ms=600s
To ensure envoy as a client for kafka broker is terminating
the connection first to avoid network disconnects
this patch is setting the idleTimeout to value slightly less
than that

2/ Enable tcp-keep alive for all TCP connections established by envoy to kafka
and to client (or fronting Load Balancer)

* Enable envoy tls termination (#41)

* [INTERNAL] Build kafka 3.1.1 using Oracle OpenJDK

* Envoy config generated by the operator is invalid in envoy 1.22


Added explicit typeconfig for envoy.filters.http.router

```
[2022-06-16 13:27:58.425][1][info][main] [source/server/server.cc:939] exiting
Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''
```

* Added TaintedBrokersSelector to kafkaClusterSpec (#48)

Co-authored-by: Adrian Muraru <[email protected]>

* Build kafka 3.2.2

* Upgrade kafka to 3.2.3

* Upgrade kafka to 3.3.1

* [Internal] Update helm for adobe builds (#52)

* [INTERNAL] Use local replacement for sub-modules (#54)

As part of banzaicloud#929, the local
replacement for sub-modules was removed in favor of using valid tags.
Adobe Koperator fork has some internal changes in the api sub-module,
so we need to use the local version of the sub-module instead of
the upstream version, so we are  forced to revert the changes from banzaicloud#929.

* Upgrade kafka to 3.4.0

---------

Co-authored-by: Adi Muraru <[email protected]>
Co-authored-by: Adrian Lungu <[email protected]>
Co-authored-by: Razvan Dobre <[email protected]>
Co-authored-by: Adrian Muraru <[email protected]>
Co-authored-by: Adrian Coman <[email protected]>
Co-authored-by: aguzovatii <[email protected]>
ctrlaltluc pushed a commit that referenced this pull request Jun 8, 2023
ctrlaltluc added a commit that referenced this pull request Jun 8, 2023
* [INTERNAL] [BUILD] Publish docker images to adobe/kafka-operator and adobe/kafka docker hub repos

- build the koperator docker image
- build Apache kafka docker image
When `kafka-*` tags are created a github action is triggered
to build and push a new adobe/kafka docker image version

* [INTERNAL] make manifests should be called manually, if needed (#25)

We made some chnages for spinnaker annotations and `preserveUnknownFields` that would be overriden by `make manifests`

* [INTERNAL] Allow Kafka to use External DNS for inter-broker protocol (#17) (#22)

* [INTERNAL] Allow external listeners to be used for inner communication (#26)

* [INTERNAL] Ensure external listerners are always the first the advertised.listeners configuration

This is needed for old clients connecting to kafka through Zookeeper that does not have a way
to infer the right listener.
In this case, the first listener in the advertised.listener config is used to connect to brokers.
This patch ensures the external listeners (those reachable from outside) are listed before internal ones

* [INTERNAL] Generate CRDs resources

* [INTERNAL] Upgrade to Kafka 2.8.1 (#36)

* Enable envoy idleTimeout and TCP keep-alive for connections to kafka and clients

1/ Kafka broker defines connections.max.idle.ms=600s
To ensure envoy as a client for kafka broker is terminating
the connection first to avoid network disconnects
this patch is setting the idleTimeout to value slightly less
than that

2/ Enable tcp-keep alive for all TCP connections established by envoy to kafka
and to client (or fronting Load Balancer)

* Enable envoy tls termination (#41)

* [INTERNAL] Build kafka 3.1.1 using Oracle OpenJDK

* Envoy config generated by the operator is invalid in envoy 1.22


Added explicit typeconfig for envoy.filters.http.router

```
[2022-06-16 13:27:58.425][1][info][main] [source/server/server.cc:939] exiting
Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''
```

* Added TaintedBrokersSelector to kafkaClusterSpec (#48)

Co-authored-by: Adrian Muraru <[email protected]>

* Build kafka 3.2.2

* Upgrade kafka to 3.2.3

* Upgrade kafka to 3.3.1

* [Internal] Update helm for adobe builds (#52)

* [INTERNAL] Use local replacement for sub-modules (#54)

As part of banzaicloud#929, the local
replacement for sub-modules was removed in favor of using valid tags.
Adobe Koperator fork has some internal changes in the api sub-module,
so we need to use the local version of the sub-module instead of
the upstream version, so we are  forced to revert the changes from banzaicloud#929.

* Upgrade kafka to 3.4.0

---------

Co-authored-by: Adi Muraru <[email protected]>
Co-authored-by: Adrian Lungu <[email protected]>
Co-authored-by: Razvan Dobre <[email protected]>
Co-authored-by: Adrian Muraru <[email protected]>
Co-authored-by: Adrian Coman <[email protected]>
Co-authored-by: aguzovatii <[email protected]>
amuraru added a commit that referenced this pull request Jun 10, 2023
amuraru added a commit that referenced this pull request Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants