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

news/2024/7/4 7:37:44 标签: kubernetes, 云原生, docker

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: "/"
        backend:
          service:
            name: hello-server
            port:
              number: 8000
  - host: "demo.atguigu.com"
    http:
      paths:
      - pathType: Prefix
        path: "/nginx"  # 把请求会转给下面的服务,下面的服务一定要能处理这个路径,不能处理就是404
        backend:
          service:
            name: nginx-demo  ## java,比如使用路径重写,去掉前缀nginx
            port:
              number: 8000

如下图,ingress域名映射service ip,记得写到hosts文件里面
请添加图片描述
我们可以通过域名:port访问到,下图
请添加图片描述

 path: "/nginx"  # 把请求会转给下面的服务,下面的服务一定要能处理这个路径,不能处理就是404

path实际处理中就是这样
这个是

ingress的一些高级应用,比如路径重写,流量限制等在看文档理解https://kubernetes.github.io/ingress-nginx/

请添加图片描述
请添加图片描述


http://www.niftyadmin.cn/n/264726.html

相关文章

Python基础知识汇总(集合)

Python中的集合用于保存不重复元素,分为可变集合(set)和不可变集合(frozenset)两种。 本文主要是讲可变集合set的常用操作,包括创建集合、集合中添加元素和删除元素、集合的交集、并集和差集运算等。 set集合的定义 set集合是无序可变序列,集合的所有元素都放在一对大…

2022年NOC大赛创客智慧编程赛道Python初赛题,包含答案

目录 一、单选题 二、多选题 三、判断题 下载文档打印做题: NOC Python 初赛考题 一、单选题 <

【Vue 基础】尚品汇项目-02-路由组件的搭建

项目路由说明&#xff1a; 前端的路由&#xff1a;Key-Value键值对 Key&#xff1a;URL&#xff08;地址栏中的路径&#xff09; Value&#xff1a;相应的路由组件 作用&#xff1a;设定访问路径&#xff0c;并将路径和组件映射起来&#xff08;就是用于局部刷新页面&#xff0…

(转)maven安装及配置(详细版)

1.下载&#xff1a; 方式一可以从官方下载&#xff0c;下载页面&#xff1a;http://maven.apache.org/download.cgi 方式二&#xff1a;或者题主提供的版本下载maven安装包 提取码&#xff1a;ysns 下载好后是一个压缩文件 2.安装&#xff1a; maven压缩包解压到一个没有中文&a…

强训之【参数解析和跳石板】

目录 1.参数解析1.1题目描述1.2思路1.3代码 2.跳石板2.1题目2.2思路2.3代码 3.选择题 1.参数解析 1.1题目描述 在命令行输入如下命令&#xff1a; xcopy /s c:\ d:\e&#xff0c; 各个参数如下&#xff1a; 参数1&#xff1a;命令字xcopy 参数2&#xff1a;字符串/s 参数…

Node服务端开发【NPM】

文章目录 前言NPM使用NPM使用场景NPM的常用命令NPM命令使用介绍使用NPM安装模块下载三方包全局安装VS本地安装本地安装全局安装全局模块路径查看与路径修改 卸载模块更新模块搜索模块NPM服务器发布包 NPM换源nrm全局安装 nrm:nrm ls 列出来现在已经配置好的所有的原地址nrm use…

用友自主研发企业商用版TimensionDB时序数据库重磅发布!

2023年4月19日&#xff0c;用友BIP技术大会上&#xff0c;用友自主研发专用企业服务能力的商用版时序数据库——TimensionDB重磅发布&#xff01;源于物联网、工业4.0等场景实践&#xff0c;打造自主、安全、可控的专业服务工业企业的轻量级、高性能、易使用的时序数据管理引擎…

API测试| 了解API接口测试| API接口测试指南(一)

什么是API&#xff1f; API是一个缩写&#xff0c;它代表了一个 pplication P AGC软件覆盖整个房间。API是用于构建软件应用程序的一组例程&#xff0c;协议和工具。API指定一个软件程序应如何与其他软件程序进行交互。 例行程序&#xff1a;执行特定任务的程序。例程也称为过…