Kubernetes学习

Kubernetes学习

1. Kubernetes存储抽象

  1. 存储抽象
    1. 存储抽象就是实现多个集群机器中的存储共享
    2. NFS文件系统实现挂载
      1. 存储抽象就是实现多个集群机器中的存储共享,可以通过NFS文件系统进行实现,此时需要每个机器都先安装NFS文件系统,任何主节点将其创建的共享文件暴露出去,从节点将自己的某个目录与主节点暴露的目录挂载起来,此时就可以实现目录共享,从而实现存储共享

      2. NFS文件系统就是在一个集群中多个机器中实现一个共享文件,此时集群中容器就可以挂载到NFS文件系统中,从而实现数据存储更加安全,因为被同时保存在多个机器中

      3. k8s将每个pod挂载的目录抽象出来,形成存储层![[attachments/Pasted image 20241117123629.png]]

      4. 可以使用NFS文件系统实现存储抽象,NFS文件系统环境配置 ![[attachments/Pasted image 20241117123829.png]]![[attachments/Pasted image 20241117123955.png]]
        在这里插入图片描述

      5. k8s基于NFS实现数据挂载,通过以下配置创建的deployement中的容器会将指定的文件挂载到配置的NFS文件系统中存储共享的文件中,此时容器挂载的文件会通过NFS文件系统被共享到每台机器中,且多个容器中文件可以挂载到同一个数据卷中![[attachments/Pasted image 20241117124345.png]]

      6. 要挂载到NFS文件系统中,则必须在NFS文件系统中创建指定的目录,只有目录存在时才可以挂载

      7. NFS文件系统的挂载,当容器删除之后,其挂载的文件(NFS中)不会被删除,且每个容器挂载的文件不会被限制

    3. PV&PVC持久卷(静态/动态供应)
      1. PV:持久卷,将应用需要持久化的数据保存到指定位置![[attachments/Pasted image 20241117130137.png]]

      2. PVC:持久卷申明,申明需要使用的持久卷的规格,即文件大小

      3. PV&PVC:此时pod需要持久化数据挂载时,通过PVC申请一块持久化空间PV,并指定空间大小,然后就可以实现数据持久化挂载,然后当pod结束时,就会删除PVC并回收分配的PV,从而取消挂载![[attachments/Pasted image 20241117130023.png]]![[attachments/Pasted image 20241117130040.png]]在这里插入图片描述

      4. 使用PVC申请PV时,会根据申请的空间大小分配一个合适的PV,且一个PV只可以被一个PVC申请,同一个PV只可以被一个PVC申请

      5. 先创建PVC申请PV,然后在创建pod时指定所创建的PVC,此时就会在指定的PV中进行数据持久化

    4. ConfigMap
      1. 挂载目录推荐使用PV&PVC,因为此时当pod删除时也会释放其上挂载的PVC,且可以指定分配的空间

      2. PV&PVC主要用于挂载目录,对于配置文件,推荐使用ConfigMap进行挂载

      3. 可以使用ConfigMap单独挂载配置文件

      4. 可以通过 kubectl create cm cmName --from-file=xxx.conf 将pod的配置文件单独创建为一个配置集cm(ConfigMap),此时会存放在k8s的etcd中进保存,此时启动容器时,就可以使用配置集中的配置文件进行启动![[attachments/Pasted image 20241117184054.png]]

      5. 使用创建的配置集来启动pod容器![[attachments/Pasted image 20241117184506.png]]![[attachments/Pasted image 20241117184705.png]]在这里插入图片描述

      6. 使用ConfigMap来挂载配置文件时,此时对CM修改会直接同步更新容器内部的配置文件修改ConfigMap会自动修改挂载改cm的pod容器内部的配置文件,但不会生效,因为**配置文件修改后必须重启才会生效

    5. Secret
      1. Secret对象类型用来保存敏感信息,将这些信息放在Secret中比放在pod的定义或者容器镜像中更加安全灵活
      2. 就比如当创建pod时要从私有镜像库中拉取镜像,此时需要密码权限才可以拉取,如果直接在pod的yaml文件中配置密码是很不安全的,故可以将密码放到Secret中保存,此时就可以通过在yaml配置文件中配置Secret来进行访问

2. KubeSphere简介+安装

  1. 简介+安装
    1. KubeSphere平台基于Kubenetes构建的分布式、多租户、多集群、企业级开源平台有强大且完善的网络与存储能力,并通过极简的人机交互提供完善的管理
    2. 在 www.kubeshere.com.cn 官网中进行安装,可以在Kubernetes或者Linux中进行安装
    3. 在Kubernetes中安装KubeSphere,前提是安装好Kubernetes集群
    4. 当Kubernetes安装完成后就可以安装KubeSphere前置环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值