Kubernetes对象Service详解

1、Service简介

在k8s中,每个Pod都有自己的IP地址。当controller用新Pod替代发生故障的Pod时,新Pod就会重新分配一个新的IP地址。这样就产生了一个问题:如果一组Pod对外提供服务(比如 HTTP),它们的IP很有可能发生变化,那么客户端如何自动找到,并访问这个服务呢?k8s给出的解决方案就是Service。

k8s中的Service从逻辑上代表了一组Pod,具体是哪些Pod,则是由label来挑选。Service有自己IP,而且这个IP是不变的。客户端只需要访问Service的IP,k8s只负责建立和维护Service与Pod的映射关系。无论后端Pod的IP如何变化,对客户端都不会有任何影响,因为Service一直没有变。

2、创建Service

先创建一个基于Deployment的yml文件,内容如下:

apiVersion: apps/v1
kind: Deployment
metadata:
   name: httpservice-deployment
spec:
  replicas: 3
  selector:
   matchLabels:
     run: httpdservice
  template:
   metadata:
     labels:
       run: httpdservice
   spec:
    containers:
    - name: httpdservice
      image: httpd
      ports:
      - containerPort: 80

然后,执行这个Deployment,执行如下命令:

[root@master service]# kubectl apply -f http-se

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/132201028