我相信我的问题很简单。我正在做在裸机上安装Kubernetes集群的先决条件。
假设我有:
主 -主机名泊坞DB容器,其被固定第一节点上
从属 -主机名泊坞DB容器,其被固定第二个节点上
我是否可以从群集中的任何容器(应用程序等)与 master 通信,而不管它是否在同一节点上运行?
这是默认行为吗?还是应该做其他的事情?
我假设我需要hostname
在YAML或JSON文件中设置参数,以便Kubernetes知道主机名是什么。
可能这不是因素,但我计划使用Kubespray安装方法,以便为k8s获得Calico网络。
非常感谢
是,
您可以namespace
通过主机名从任何容器访问和通信。
这是有关Kubernetes Service
配置的示例:
---
apiVersion: v1
kind: Service
metadata:
name: master
labels:
name: master
namespace: smart-office
spec:
ports:
- port: 5672
name: master
targetPort: 5672
selector:
name: master
Deployment
配置:
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: master
labels:
name: master
namespace: smart-office
spec:
replicas: 1
template:
metadata:
labels:
name: master
annotations:
prometheus.io/scrape: "false"
spec:
containers:
- name: master
image: rabbitmq:3.6.8-management
ports:
- containerPort: 5672
name: master
nodeSelector:
beta.kubernetes.io/os: linux
并通过其他服务,例如,您slaver
.env
将:
AMQP_HOST=master <---- The hostname
AMQP_PORT=5672
AMQP_USERNAME=guest
AMQP_PASSWORD=guest
AMQP_HEARTBEAT=60
即使您不发布外部IP,它也可以在群集中使用。
希望这可以帮到你。
在页面存储Python Flask微服务中,我尝试使用主机名master-db访问MySQL数据库,但该名称无法解析。
我正在尝试以下操作: 在一个带有暴露端口的容器中旋转MySQL 5.5,例如4200。 在一个带有暴露端口的容器中旋转MySQL 5.7,例如4300。 旋转golang容器以运行我的应用程序。 我的想法是我需要我的测试在不同的数据库版本上运行。 为此,我需要能够与golang容器中的每个sql容器进行对话。 我试过的: 方法1-使用--link: GO LANG应用程序容器 方法2-使用--ne
我希望我的UI通过我的节点服务器获取数据,其中每个都是一个独立的容器。如何使用docker-compose文件连接它们? 我有三个运行mongodb、node server和oracle jet for ui容器,我想通过oraclejet ui访问node API,通过node访问mongo db,所以我定义了这个Docker-Compose。mongo和node工作之间的链接。
问题内容: 我基于两个不同的图像创建了两个docker容器。一个数据库,另一个用于网络服务器。这两个容器都在我的Mac OS X上运行。 我可以从主机访问数据库容器,也可以从主机访问Web服务器。 但是,如何从Web服务器访问数据库连接? 我启动数据库容器的方式是 我开始了wls容器作为 我可以通过连接到主机上的数据库 我可以以以下方式访问主机上的wls: 问题答案: 最简单的方法是使用–link
我基于两个不同的映像创建了两个docker容器。一个是db,另一个是WebServer。这两个容器都在我的mac OSX上运行。 我可以从主机访问db容器,也可以从主机访问webserver。 我可以访问主机上的wls作为
问题内容: 我正在尝试为将我的应用程序容器连接到postgres容器提供一个便携式解决方案。“便携式”是指我可以给用户两个命令,每个容器一个,它们将始终协同工作。 我的本地PC上运行着一个postgres docker容器,我这样运行它, 我可以使用address从python flask应用程序访问它。 我也将python应用程序也放置在docker容器中,但无法连接到postgres容器。 地