繁体   English   中英

Kube.netes MirrorMaker2 无法加载 Secret

[英]Kubernetes MirrorMaker2 Cannot Load Secret

我有一个奇怪的问题,没人能查明。 为了确保这不是 Azure Kube.netes 问题,我还启动了 minikube 以在本地进行测试,但我遇到了同样的错误。 MirrorMaker2 的 Strimzi 0.28 的共同点。

您可以在此处阅读整个主题,以防有帮助。 我们陷入了死胡同。 整个讨论的链接是strimzi下的github;

我移动它是因为我不想发送垃圾邮件,因为一位名叫 scholzj 的绅士提供了帮助并提供了一些很好的建议。 但似乎没有任何效果。

这是我所做的。

创造秘密

出于发布目的,将实际数据替换为 <name>、<keyName>、<password>。

cat <<EOF | kubectl apply -n kafka-cloud -f - 
apiVersion: v1
kind: Secret
metadata:
  name: eventhubssecret
  namespace: kafka-cloud
type: Opaque
stringData:
  eventhubspassword: Endpoint=sb://<name>.servicebus.windows.net/;SharedAccessKeyName=<keyName>;SharedAccessKey=<password>
EOF

已验证并显示命名空间“kafka-cloud”中存在的值。

运行 Mirror Maker 2

cat <<EOF | kubectl apply -n kafka-cloud -f -
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaMirrorMaker2
metadata:
  name: mirror-maker-eventhub
spec:
  version: 3.1.0
  replicas: 1
  connectCluster: "eventhub"
  clusters:
  - alias: "my-kafka-cluster"
    bootstrapServers: my-cluster-kafka-bootstrap:9092
  - alias: "eventhub"
    bootstrapServers: <name>.servicebus.windows.net:9093
    config:
      config.storage.replication.factor: 1
      offset.storage.replication.factor: 1
      status.storage.replication.factor: 1
      producer.connections.max.idle.ms: 180000
      producer.metadata.max.age.ms: 180000
    authentication: 
      type: plain 
      username: $ConnectionString
      passwordSecret: 
        secretName: eventhubssecret 
        password: eventhubspassword
    tls:
      trustedCertificates: []
  mirrors:
  - sourceCluster: "my-kafka-cluster"
    targetCluster: "eventhub"
    sourceConnector:
      config:
        replication.factor: 1
        offset-syncs.topic.replication.factor: 1
        sync.topic.acls.enabled: "false"
    heartbeatConnector:
      config:
        heartbeats.topic.replication.factor: 1
    checkpointConnector:
      config:
        checkpoints.topic.replication.factor: 1
    topicsPattern: ".*"
    groupsPattern: ".*"
EOF

它被创建;

  • kafkamirrormaker2.kafka.strimzi.io/mirror-maker-eventhub created

然后在描述中我们在 azure 和另一台机器上的 minikube 中都得到了这个。 共同点是 strimzi 0.28 v1beta2。 我在 azure 和 mirrormaker2 上看到的所有例子都比较老。 但是我们想不通为什么秘密没有通过??

Status:
  Conditions:
    Last Transition Time:  2022-03-17T00:13:53.909810Z
    Message:               PLAIN authentication selected, but username or password configuration is missing.
    Reason:                InvalidResourceException
    Status:                True
    Type:                  NotReady
  Observed Generation:     1
  Replicas:                0
Events:                    <none>

以前有没有人见过这种行为,如果是的话,我错过了什么? 或者这是 strimzi 和 Mirrormaker2 的错误? 我只需要测试将数据从 Kafka 移动到 Event Hub,并认为 MirrorMaker2 是通往 go 的途径。但两天后,我开始怀疑了。

谢谢。

问题是使用 cat <<EOF | kubectl apply -n kafka-cloud -f -

我认为这是因为用户名中的 $。 EH 需要这个作为连接的实际用户名。 一旦我将上面的内容制作成cat <<EOF and the last EOF之间的文件,它就从 CLI 运行而无需更改任何内容。

有效。

kubectl apply -n kafka-cloud -f fileName.yaml

使用 EH 使用文件时,不要 cat <<EOF 它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM