k8s中ingress,service,depoyment,pod如何关联

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都能访问到

 

 

 

posted @   IT运维成长笔记  阅读(1422)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示