關於 service 以及 ingress的問題

来源:6-6 ingress实践

山謬

2021-03-24

目前我的虚拟环境如下
192.168.99.101 master
192.168.99.102 node1
192.168.99.103 node2
彼此之间互相可以连通

我按照教学create deployment -> service -> ingress
并于/etc/hosts 加入 10.1.211.240 hello-world.info
然后使用curl hello-world.info 尝试取得回应

目前发现一个问题

在node1中使用terminal尝试 无法取得回应
在node2中使用termianl可以取得回应

感觉service 跟 ingress都部属到了node2
也发现10.1.211.240 这个ip只能从本地连线

请问这个现象是否正常?
想请问要怎么知道service以及ingress是部属在哪一个node?
想请问这个cluster是否有共同IP可以由外统一连入?

写回答

1回答

清风

2021-03-24

请参考第六章加餐文档里'加餐-Service 的域名解析'的内容:

确保第四章代码库的 coredns.yaml 已经执行,且 node1 上的 coredns pod 已经运行:

```

kc get po -n kube-system -o wide

NAME                             READY   STATUS    RESTARTS   AGE   IP               NODE     NOMINATED NODE   READINESS GATES

coredns-d8dcc8965-7xn8c          1/1     Running   0          14s   10.244.1.98      node1    <none>           <none>

coredns-d8dcc8965-fnl5n          1/1     Running   0          14s   10.244.0.31      master   <none>           <none>

```

如果该 node 上没有coredns pod 运行,则无法解析。如果需要在多个 node 上进行域名解析,则可以将 coredns 的副本数增加到和 node 节点数相同,例如代码中设置的数量为 replica: 3。


0
3
拧壶冲
回复
清风
所以demo的代码是不是应该默认的就是replicas: 3 才对?因为所有的例子都是以三台机器为标准来讲授的。如果replicas是目前的2,会导致有一台机器没有跑coredns的pod
2021-12-17
共3条回复

Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践

阿里云最有价值专家亲授,云原生时代必备技能

1501 学习 · 613 问题

查看课程