【问题标题】:deployment of services where one needs IP address of first service部署需要第一个服务的 IP 地址的服务
【发布时间】:2019-05-03 15:34:08
【问题描述】:

我创建了两个服务。

myyml 服务

mysql-部署

myymlservice 需要 mysql-deployment 的负载均衡器的 IP 地址(所以它可以创建一个连接字符串到它)

 minikube service list

|-------------|----------------------|--------------------------------|
|  NAMESPACE  |         NAME         |              URL               |
|-------------|----------------------|--------------------------------|
| default     | kubernetes           | No node port                   |
| default     | mysql-deployment     | http://192.168.99.100:30928    |
| default     | myymlservice         | http://192.168.99.100:32724    |
|             |                      | http://192.168.99.100:31461    |
| kube-system | kube-dns             | No node port                   |
| kube-system | kubernetes-dashboard | No node port                   |
|-------------|----------------------|--------------------------------|

..

kubectl describe service mysql-deployment
Name:                     mysql-deployment
Namespace:                default
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"mysql-deployment","namespace":"default"},"spec":{"ports":[{"port":1433,"protoc...
Selector:                 app=mysql
Type:                     LoadBalancer
IP:                       10.107.53.255
Port:                     <unset>  1433/TCP
TargetPort:               1433/TCP
NodePort:                 <unset>  30928/TCP
Endpoints:                172.17.0.7:1433
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

一项服务(或支持该服务的容器)如何(使用 yml)获取 IP 地址?

我在上一个问题中的更多设置:

single service with multiple exposed ports on a pod with multiple containers

【问题讨论】:

  • 如果你想建立连接字符串,你可以使用服务名称而不是 ip。例如mysql-deployment.default.svc.cluster.local。那是因为 kubernetes 有一个“dns”built-in
  • 好的!港口怎么样?还是我假设我知道?
  • 你知道神奇的 kubectl 查询我们获取全天的名称吗?
  • 感谢 gonazalesraul。未来的读者,“技巧”是 mysql-deployment.default.svc.cluster.local 显然解析 IP 和端口。“默认”是命名空间。“mysql-deployment”是服务名称,“svc” .cluster.local”是Kubernetes voodoo.gonzalesraul,如果您添加答案,我会将其标记为答案。

标签: kubernetes kubectl kubernetes-pod


【解决方案1】:

如果你想建立连接字符串,你可以使用服务名而不是 ip。例如 mysql-deployment.default.svc.cluster.local。那是因为 kubernetes 有一个“dns”built-indns resolution

【讨论】:

    猜你喜欢
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2016-09-11
    相关资源
    最近更新 更多