当前位置:   article > 正文

云原生-k8s核心概念(pod,deploy,service,ingress,configmap,volume)_ingress service deployment

ingress service deployment

Gitee-k8s学习
云原生实战-kubernetes核心实战

namespace

Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离
请添加图片描述

Pod

Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。
请添加图片描述

Deployment

kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。
请添加图片描述
deployment:pod控制器,控制一组标签相同的pod,使Pod拥有多副本,自愈,扩缩容,滚动更新,版本回退等能力

请添加图片描述

service

Service可以看作是一组同类Pod对外的访问接口。同类pod指的是标签相同的pod
即可以通过pod的ip访问pod,一组同类的pod统一对外提供一个ip地址叫service ip,访问service ip,然后请求轮询给到service下的各个pod
请添加图片描述
在这里插入图片描述
svc两种模式,ClusterIP默认是集群内ip才能访问,
下面为例子,在master节点上可以通过pod ip访问pod,也可以通过访问service,让service将请求轮询打到同一label的pod上
在这里插入图片描述
在这里插入图片描述

NodePort-SVC

如果希望将Service暴露给集群外部使用,那么就要使用到另外一种类型的Service,称为NodePort类型。NodePort的工作原理其实就是将service的端口映射到Node的一个端口上,然后就可以通过NodeIp:NodePort来访问service了
请添加图片描述
如下图:和下下图,集群内任意一个Nodeip:NodePort,
外部访问通过NodePort,打到对应的Nodeport类型的service上(service port),然后service将请求分给service下统一label的pod,每个pod有自己的port,在配置文件中叫targetport
在这里插入图片描述
请添加图片描述

ingress

ingress:kubernetes中的一个对象,作用是定义请求如何转发到service的规则
ingress controller:具体实现反向代理及负载均衡的程序,对ingress定义的规则进行解析,根据配置的规则来实现请求转发,实现方式有很多,比如Nginx, Contour, Haproxy等等
请添加图片描述
如下配置,hello.atguigu.com这个域名直接访问到hello-server这个service,然后根据service的配置文件轮询分配给同一个label的pod。

apiVersion: networking.k8s.io/v1
kind: Ingress  
metadata:
  name: ingress-host-bar
spec:
  ingressClassName: nginx
  rules:
  - host: "hello.atguigu.com"
    http:
      paths:
      - pathType: Prefix
        path: "/"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/162017
推荐阅读
相关标签
  

闽ICP备14008679号