zoukankan      html  css  js  c++  java
  • centos7下kubernetes(12。kubernetes-service)

    Service:定义了一个服务得访问入口地址,前端的应用通过这个入口地址访问其背后得一组由pod副本组成的集群实例;

                  service与后端的pod副本集群之间则是通过label selector来实现无缝对接

    每个service分配了一个全局唯一的虚拟IP地址,这个虚拟IP被称为Cluster IP

    service从逻辑上代表了一组pod,具体是哪些pod则是由label来挑选。service由自己的IP,而且是不变的,客户端只需要访问serviceIP。无论后端pod如何变化,对客户端不会有任何影响,因为service没变。

    举个例子:

    创建一个deployment

    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: httpd
    spec:
      replicas: 3
      template:
        metadata:
          labels:
            run: httpd
        spec:
          containers:
          - name: httpd
            image: httpd
            ports:
            - containerPort: 80

    启动了三个pod,运行httpd镜像,label是run:httpd ,service将会用这个label来挑选pod

    pod分配了各自的IP,这些IP只能被kubernetes Cluster中的容器和节点访问

    接下来创建service

    apiVersion: v1
    kind: Service
    metadata:
      name: httpd-svc
    spec:
      selector:
        run: httpd
      ports:
      - protocol: TCP
        port: 8080
        targetPort: 80

    1.v1是service的apiversion

    2.当前资源类型是service

    3.service的名字是httpd-svc

    4.selector知名挑选那些label为run:httpd的pod作为service后端的

    5.将service的8080端口映射到pod的80端口,使用了TCP协议

    执行kubectl apply创建service httpd-svc

    查看service   kubectl  get service

    httpd-svc 分配到了一个cluster-IP10.105.215.156,可以通过该IP访问后端的pod

     

    我们注意到除了httpd-svc这个service,还有一个kubernetes的service,这个是cluster内部通过这个service访问kubernetes API server

    通过kubectl describe service httpd-svc 查看service与pod的关系

  • 相关阅读:
    人类登月不可或缺 大型机半个世纪发展史
    宽带上网知识(如何进行上网流程配置,路由器上网配置)
    团队项目第二阶段——第二天
    用户体验评价之QQ浏览器
    团队项目第二阶段——第一天
    第十四周学习进度总结
    《梦断代码》阅读笔记02
    第十三周学习进度总结
    第一阶段意见评论
    第十二周学习进度总结
  • 原文地址:https://www.cnblogs.com/lkun/p/9830719.html
Copyright © 2011-2022 走看看