Py学习  »  MQ

如果定义了K8S API TLS密码,则K8S上的rabbitmq对等机发现失败

Haiyan GU • 4 年前 • 528 次点击  

我使用头盔图表在K8S上部署2个rabbitmq吊舱。 该图能很好地部署,并能较好地聚类。 然后为K8S API添加一个TLS定义:

--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

然后,rabbitmq对等发现插件未能群集。

[root@control-01]$ # kubectl get pod -o wide
oe-crmq-0                                   0/1       CrashLoopBackOff   7          33m       192.168.1.186   worker-01
oe-crmq-1                                   0/1       CrashLoopBackOff   7          32m       192.168.1.105   worker-02
[root@control-01]$ # kubectl logs oe-crmq-0
  ##  ##
  ##  ##      RabbitMQ 3.7.5. Copyright (C) 2007-2018 Pivotal Software, Inc.
  ##########  Licensed under the MPL.  See http://www.rabbitmq.com/
  ######  ##
  ##########  Logs: /var/log/rabbitmq/rabbit@oe-crmq-0.log
                    /var/log/rabbitmq/rabbit@oe-crmq-0_upgrade.log

              Starting broker...
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{{case_clause,{error,\"{failed_connect,[{to_address,{\\"kubernetes.default.svc.cluster.local\\",8443}},\n                 {inet,[inet],etimedout}]}\"}},[{rabbit_mnesia,init_from_config,0,[{file,\"src/rabbit_mnesia.erl\"},{line,164}]},{rabbit_mnesia,init_with_lock,3,[{file,\"src/rabbit_mnesia.erl\"},{line,144}]},{rabbit_mnesia,init,0,[{file,\"src/rabbit_mnesia.erl\"},{line,111}]},{rabbit_boot_steps,'-run_step/2-lc$^1/1-1-',1,[{file,\"src/rabbit_boot_steps.erl\"},{line,49}]},{rabbit_boot_steps,run_step,2,[{file,\"src/rabbit_boot_steps.erl\"},{line,49}]},{rabbit_boot_steps,'-run_boot_steps/1-lc$^0/1-0-',1,[{file,\"src/rabbit_boot_steps.erl\"},{line,26}]},{rabbit_boot_steps,run_boot_steps,1,[{file,\"src/rabbit_boot_steps.erl\"},{line,26}]},{rabbit,start,2,[{file,\"src/rabbit.erl\"},{line,801}]}]}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{{case_clause,{error,"{failed_connect,[{to_address,{\"kubernetes.defau

Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done

因此,我尝试在advanced.config中为rabbitmq添加密码:

bash-4.2$ cat advanced.config
%% List allowed ciphers
[
    {ssl, [{versions, ['tlsv1.2']},
           {ssl_optons, [{ciphers, [
                            {ecdhe_rsa,aes_128_gcm,null,sha256}
                            ]}, {fail_if_no_peer_cert,false}]}]}
].

虽然这个配置没有带来太多的改进。当连接到kubernetes.default.svc.cluster.local时,它仍然超时。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37841
 
528 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Haiyan GU
Reply   •   1 楼
Haiyan GU    4 年前

将Erlang升级到最新版本后,问题解决。