service与pod关联
当我们创建pod时,仅仅是创建了pod,要为其创建rc(ReplicationController),他才会有固定的副本,然后为其创建service,集群内部才能访问该pod,使用 NodePort 或者 LoadBalancer 类型的 Service,外部网络也可以访问该pod;每个 service 会创建出来一个虚拟 ip,通过访问 vip:port 就能获取服务的内容(内部访问,因为这是一个vip,外部无法访问的)
创建service时,其配置文件中的selector:指定后端绑定的pod,例如serviceA的selector:
app:whoimi
env:dev
然后有一个podA,
labels:
app:whoimi
env:dev
然后有一个podB,
labels:
app:whoimi
env:dev
那么我们的serviceA 就会绑定podA,podB,绑定的pod的ip会填写到serviceA的endpoint中,内部访问(vip:port方式访问)serviceA,根据serviceA的vip:port直接访问,serviceA会随机的将服务转发给后端的pod(podA,podB)
# cat nginx01.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment01
spec:
selector:
matchLabels:
env: prod
replicas: 1
template:
metadata:
labels:
env: prod
spec:
containers:
- name: nginx
image: nginx:1.11
ports:
- containerPort: 80
# cat nginx02.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment02
spec:
selector:
matchLabels:
env: prod
replicas: 1
template:
metadata:
labels:
env: prod
spec:
containers:
- name: nginx
image: nginx:1.11
ports:
- containerPort: 80
# cat service-test.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
env: prod
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
nodePort: 30011
type: NodePort

service与pod关联的更多相关文章
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
本节开始学习 Service.我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通 ...
- k8s通过service访问pod(五)--技术流ken
service 每个 Pod 都有自己的 IP 地址.当 controller 用新 Pod 替代发生故障的 Pod 时,新 Pod 会分配到新的 IP 地址.这样就产生了一个问题: 如果一组 Pod ...
- service和pod通过标签绑定
service和pod绑定 apiVersion: v1 kind: Service metadata: name: my-haproxy labels: app: my-haproxy spec: ...
- 通过 Service 访问 Pod
我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通过动态创建和销毁 Pod 来保 ...
- 第六章 通过Service访问Pod(上)
不应该直接使用Pod的ID地址作为对外提供服务的接口,应为一旦Pod重启,IP地址就变化了,解决方案是使用Service. 6.1 创建Service K8s service从逻辑上代表了一组Pod, ...
- linux运维、架构之路-K8s通过Service访问Pod
一.通过Service访问Pod 每个Pod都有自己的IP地址,当Controller用新的Pod替换发生故障的Pod时,新Pod会分配到新的IP地址,例如:有一组Pod对外提供HTTP服务,它们的I ...
- 通过 Service 访问 Pod【转】
本节开始学习 Service.我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通 ...
- k8s通过service访问pod(五)
service 每个 Pod 都有自己的 IP 地址.当 controller 用新 Pod 替代发生故障的 Pod 时,新 Pod 会分配到新的 IP 地址.这样就产生了一个问题: 如果一组 Pod ...
- k8s通过Service访问Pod
如何创建服务 1.创建Deployment #启动三个pod,运行httpd镜像,label是run:mcw-httpd,Seveice将会根据这个label挑选PodapiVersion: apps ...
随机推荐
- 使用构造器模式动态构建Map作为mybatis的查询条件
import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.databind.ObjectMapper; import com.fas ...
- Go语言集成开发工具JetBrains GoLandMac2.3中文版
JetBrAIns GoLand for Mac是是专为Go开发人员构建的跨平台IDE,功能非常强大拥有强大的代码洞察力,帮助所有Go开发人员即时错误检测和修复建议,快速和安全的重构,一步撤销,智能 ...
- Android开发 所需组件配置
1 Unity中的Android Build Support下载 在Unity中的File>Building Settings>Android>Open Download Page, ...
- C++学习笔记-new与delete
C++新增了new和delete关键字,用来开辟内存,对应的就是C语言的malloc和free 对比new/delete和malloc/free malloc和free是库函数,以字节为单位申请堆内存 ...
- WCf客户端测试
添加项目ConsoleWCFTest 添加WCFService.WCFServiceProxy 配置App.config <?xml version="1.0" encodi ...
- CVE-2018-2628
哈哈哈,终于等到我复现一个CVE漏洞了. 漏洞描述 Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台.该平 ...
- mysql --single-transaction 在从库导入完数据以后要在配置文件/etc/my.cnf 中加上read_only=1的参数
1.在做数据库的主从时,防止在这个过程中,有数据访问进来,要: 要想连super权限用户的写操作也禁止,就使用"flush tables with read lock;",这样设置 ...
- Installation failed with message Failed to commit install session 634765663 with command cmd package
用小米真机测试时,安装app总会提示这个错误两遍,然后再重新安装. 解决办法:去掉这个√.
- java追加文件
public class AppendToFile { /** * A方法追加文件:使用RandomAccessFile */ public static void appendMethodA(Str ...
- sql sever 两数据表差异比较EXCEPT、INTERSECT
1.概念: EXCEPT主要是用来获取两个结果集的差:两个结果用EXCEPT链接,返回第一个结果集不在第二个结果集中的数据. INTERSECT主要是用来获取两个结果集的交集:两个结果用INTERSE ...