k8s中pod通过label标签名称来识别关联,它们的label name一定是一样的。ingress,service,depoyment通过selector 中app:name来关联
1、查询发布的deploymet控制器
[root@k8s-master1 ~]# kubectl get deployments.apps
NAME READY UP-TO-DATE AVAILABLE AGE
my-dep 1/1 1 1 3d7h
2、查询控制器my-dep的label标签名称
可以看到my-dep控制器的labels名称为my-dep,控制器中的pod对应的labels名称也是my-dep
3、查询发布的svc对应的label标签名称
可以看到my-dep这个service对应的labels名称也是my-dep
4、查询ingress对应的label标签名称
可以看到k8s-ingress这个ingress对应的label也是my-dep,有时候我们会误以为这个是service的名称,其实这个是service的label name
5. 在了解到他们是通过labe name来识别之后,我们就可以通过新增多个deploy来扩容我们的服务,deploy只需要保持label name一致即可
新增一个deploy,kubectl apply -f nginx-deployment.yaml
[root@k8s-master1 ~]# cat nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-dep2
spec:
replicas: 1
selector:
matchLabels:
app: my-dep
template:
metadata:
labels:
app: my-dep
spec:
containers:
- name: nginx
image: centos-nginx:1.23.0
imagePullPolicy: Never
ports:
- containerPort: 80
restartPolicy: Always
查询depoy
查询pod
6、还是用之前发布的ingress来访问
可以看到两个my-dep和my-dep2都能访问到
手机扫一扫
移动阅读更方便
你可能感兴趣的文章