我已经将虚拟服务定义为在DNS中注册Pod的一种方法,因为群集IP目前不适用于我的应用程序。
apiVersion: v1
kind: Service
metadata:
name: company
spec:
selector:
app: company_application
clusterIP: None
apiVersion: apps/v1
kind: Deployment
metadata:
name: company-master-deployment
labels:
app: company_application
role: master
spec:
selector:
matchLabels:
app: company_application
role: master
strategy:
type: Recreate
template:
metadata:
labels:
app: company_application
role: master
spec:
hostname: master
subdomain: company
我正在使用master.company.default.svc.cluster.local
的DNS条目从另一个Pod连接到该Pod。
在以下情况下,我注意到Kubernetes的行为非常烦人:
Kubernetes应该是这样工作的吗?除了删除准备情况检查以外,还有什么方法可以确保DNS继续解析?
答案 0 :(得分:1)
是的,只有在Pod通过就绪检查之前,它们才会添加到服务端点。您可以通过运行以下命令来确认这一点:
kubectl get endpoints company -n <your_namespace>
直到
,您都看不到任何端点readinessProbe
失败。