文件

Kafka 通知設定

本頁說明如何設定 Kafka 服務作為 儲存貯體通知 的目標。如需使用這些設定的教學課程,請參閱 將事件發佈至 Kafka

您可以透過定義以下方式建立或修改設定:

  • 在啟動或重新啟動 MinIO 伺服器之前,在主機系統上定義環境變數。請參閱作業系統的文件,了解如何定義環境變數。

  • 使用 mc admin config set 使用組態設定

  • 使用 MinIO 主控台管理員 > 設定 頁面使用組態設定

如果您同時定義環境變數和類似的組態設定,MinIO 將使用環境變數值。

某些設定只有環境變數或組態設定,但不是兩者都有。

重要

每個組態設定都控制 MinIO 的基本行為和功能。MinIO 強烈建議在將組態變更套用至生產環境之前,先在較低的環境 (例如 DEV 或 QA) 中測試這些變更。

多個 Kafka 目標

您可以透過在頂層金鑰上附加每個相關 Kafka 設定集的唯一識別碼 _ID 來指定多個 Kafka 服務端點。

範例

例如,以下命令將兩個不同的 Kafka 服務端點分別設定為 PRIMARYSECONDARY

set MINIO_NOTIFY_KAFKA_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_KAFKA_BROKERS_PRIMARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"

set MINIO_NOTIFY_KAFKA_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_KAFKA_BROKERS_SECONDARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
mc admin config set notify_kafka:primary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

mc admin config set notify_kafka:secondary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

請注意,對於組態設定,唯一識別碼僅附加到 notify_kafka,而不是每個個別引數。

設定

啟用

必要

MINIO_NOTIFY_KAFKA_ENABLE

指定 on 以啟用將儲存貯體通知發佈至 Kafka 服務端點。

預設為 off

notify_kafka

用於定義與 MinIO 儲存貯體通知 搭配使用的 Kafka 服務端點的頂層組態金鑰。

使用 mc admin config set 來設定或更新 Kafka 服務端點。每個目標都需要 brokers 引數。以空格 (" ") 分隔的清單指定其他選用的引數。

mc admin config set notify_kafka \
  brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
  [ARGUMENT="VALUE"] ... \

代理伺服器 (Brokers)

必要

MINIO_NOTIFY_KAFKA_BROKERS
notify_kafka brokers

指定一個以逗號分隔的 Kafka 代理伺服器位址列表。例如:

"kafka1.example.com:2021,kafka2.example.com:2021"

版本變更:RELEASE.2023-05-27T05-56-19Z:MinIO 會在新增目標之前檢查指定的 URL 的健康狀態(如果它可以解析且可連線)。如果現有的目標離線,MinIO 不再阻止新增新的通知目標。

主題 (Topic)

選用

MINIO_NOTIFY_KAFKA_TOPIC
notify_kafka topic

指定 MinIO 發佈儲存桶事件的 Kafka 主題名稱。

SASL

選用

MINIO_NOTIFY_KAFKA_SASL
notify_kafka sasl

指定 on 以啟用 SASL 驗證。

SASL 使用者名稱

選用

MINIO_NOTIFY_KAFKA_SASL_USERNAME
notify_kafka sasl_username

指定用於對 Kafka 代理伺服器執行 SASL/PLAIN 或 SASL/SCRAM 驗證的使用者名稱。

SASL 密碼

選用

MINIO_NOTIFY_KAFKA_SASL_PASSWORD
notify_kafka sasl_password

指定用於對 Kafka 代理伺服器執行 SASL/PLAIN 或 SASL/SCRAM 驗證的密碼。

版本變更:RELEASE.2023-06-23T20-26-00Z:當作為 mc admin config get 的一部分傳回時,MinIO 會編輯此值。

SASL 機制

選用

MINIO_NOTIFY_KAFKA_SASL_MECHANISM
notify_kafka sasl_mechanism

指定用於對 Kafka 代理伺服器進行驗證的 SASL 機制。MinIO 支援以下機制:

  • PLAIN (預設)

  • SHA256

  • SHA512

TLS 用戶端驗證

選用

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
notify_kafka tls_client_auth

指定 Kafka 代理伺服器的用戶端驗證類型。下表列出支援的值及其對應關係:

驗證類型

0

NoClientCert

1

RequestClientCert

2

RequireAnyClientCert

3

VerifyClientCertIfGiven

4

RequireAndVerifyClientCert

請參閱 ClientAuthType,以取得每個用戶端驗證類型的詳細資訊。

TLS

選用

MINIO_NOTIFY_KAFKA_TLS
notify_kafka tls

指定 on 以啟用與 Kafka 代理伺服器的 TLS 連線。

TLS 跳過驗證

選用

MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY
notify_kafka tls_skip_verify

啟用或停用 NATS 服務端點 TLS 憑證的 TLS 驗證。

  • 指定 on 以停用 TLS 驗證(預設)

  • 指定 off 以啟用 TLS 驗證。

用戶端 TLS 憑證

選用

MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT
notify_kafka client_tls_cert

指定用於對 Kafka 代理伺服器執行 mTLS 驗證的用戶端憑證路徑。

用戶端 TLS 金鑰

選用

MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY
notify_kafka client_tls_key

指定用於對 Kafka 代理伺服器執行 mTLS 驗證的用戶端私密金鑰路徑。

版本

選用

MINIO_NOTIFY_KAFKA_VERSION
notify_kafka version

指定在對該叢集執行操作時假設的 Kafka 叢集版本。請參閱 sarama 參考文件以取得有關此欄位行為的詳細資訊。

批次大小

選用

MINIO_NOTIFY_KAFKA_BATCH_SIZE
notify_kafka batch_size

指定作為將記錄傳送到 Kafka 的 批次大小 所使用的整數值。

版本變更:RELEASE.2023-12-02T10-51-33Z:MinIO 先前將此值限制為 100

佇列目錄

選用

MINIO_NOTIFY_KAFKA_QUEUE_DIR
notify_kafka queue_dir

指定目錄路徑以啟用 MinIO 用於未傳遞訊息的永久事件儲存,例如 /opt/minio/events

當 Kafka 伺服器/代理伺服器離線時,MinIO 會將未傳遞的事件儲存在指定的儲存中,並在連線恢復時重新播放儲存的事件。

佇列限制

選用

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT
notify_kafka queue_limit

指定未傳遞訊息的最大限制。預設值為 100000

註解

選用

MINIO_NOTIFY_KAFKA_COMMENT
notify_kafka comment

指定與 Kafka 組態相關聯的註解。

壓縮編碼器

MinIO 新增版本:伺服器 RELEASE.2023-12-09T18-17-51Z

選用

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC
notify_kafka compression_codec

指定將記錄傳送到 Kafka 時要使用的壓縮編碼器。

支援以下值:

  • none

  • snappy

  • gzip

  • lz4

  • zstd

壓縮等級

MinIO 新增版本:伺服器 RELEASE.2023-12-09T18-17-51Z

選用

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL
notify_kafka compression_level

根據設定的壓縮編碼器,控制套用的壓縮等級。

指定大於或等於 0 的整數值。該值的作用取決於所選的編碼器。