[英]Kubernetes MySQL replication - Master service host inquiry
我目前在Kubernetes集群上設置了具有異步復制功能的可工作的MySQL主服務器和從服務器。
我正在嘗試計划一個緊急情況,如果主機崩潰了,從機將接走松弛,而其他情況則不會。 我認為第一步是檢查Dockerfile和在Dockerfile中定義ENTRYPOINT
的腳本。
當我kubectl get svc
,這就是我獲得的有關服務的信息。
這告訴我在群集上,主服務器具有IP 10.0.156.209
。
現在,當我docker-entrypoint.sh
MySQL 奴隸 Docker映像的幫助腳本docker-entrypoint.sh
,我注意到這一行有助於設置主從場景(我將其剪裁以突出顯示這一點)
當我啟動到Kubernetes上的slave pod時,環境變量$MYSQL_MASTER_SERVICE_HOST
設置為10.0.156.209
我的問題: MySQL從屬容器如何知道使用主服務器的群集IP作為$MYSQL_MASTER_SERVICE_HOST
的值? 這是Kubernetes還是SQL?
謝謝 :)
這些環境變量由Kubernetes為每個服務自動創建。 請參閱: https : //kubernetes.io/docs/concepts/services-networking/connect-applications-service/#environment-variables
當Pod在節點上運行時,kubelet為每個活動的Service添加一組環境變量。
另外,Kubernetes上的mysql是一個復雜的話題。 您可能不想推出自己的解決方案。 您看過Vitess嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.