依旧是工作中遇到的问题,熬夜解决了,写博客记录下。场景描述甲方生产环境使用 k8s 部署两家乙方的服务,甲方在集群物理机上为两个乙方创建了用户(user_a,user_b)和各自的磁盘目录(share_a,share_b)。现在因为业务需求,两个用户需要在 share_a 目录下创建子目录并将各自服务的输出保存的到其中,子目录的名称两个乙方约定好,并且谁先用到谁创建,子目录区权限775,不然一个创
文章目录configmap简介创建ConfigMap的方式使用字面值创建使用文件创建使用目录创建编写configmap的yaml文件如何使用configmap使用configmap设置环境变量普通格式envfrom格式使用conigmap设置命令行参数通过数据卷使用configmapconfigmap热更新使用ConfigMap的限制条件 configmap简介在生产环境中经常会遇到需要修改配置
存储设计理念K8S存储设计理念就是将所有的存储资源统一封装起来,比如用到的NAS,或者物理机本地磁盘,或者是云厂商的对象存储。K8S就是把他们整合起来,抽象出存储卷的(Volume)的逻辑,容器挂载他们就可以直接使用存储空间。跟Docker里的挂载文件相似,Volume独立于Pod与Pod具有相同生命周期的对象。Volume来源1.以Volume形式挂载到容器的对象包括:ConfigMap:明文配
转载 10月前
70阅读
作者 | 至天 阿里巴巴高级研发工程师一、Volumes 介绍Pod Volumes首先来看一下 Pod Volumes 的使用场景:场景一:如果 pod 中的某一个容器在运行时异常退出,被 kubelet 重新拉起之后,如何保证之前容器产生的重要数据没有丢失?场景二:如果同一个 pod 中的多个容器想要共享数据,应该如何去做?以上两个场景,其实都可以借助 Volumes 来很好地解决,接下来首先
2020.1.5更新建议使用cephfs storageClass,而非本文中手动指定pv/pvc的方式,否则容易引发cephfs性能问题,详情参考:kubernetes挂载cephfs带来的mds卡顿问题及引入cephfs storageClass本文仅作对pv/pvc的了解学习。前言在前篇部署测试完cephfs的基础上:Ceph集群生产环境安装部署cephfs调优 & 性能测试 &am
0X00 Master节点部署nfs-server1.Master节点安装nfs-serverapt install nfs-server2.创建共享目录mkdir /nfs_data3.修改nfs-server共享设置echo "/nfs_data *(rw,sync,no_root_squash)" >> /etc/exports参数作用ro只读rw读写root_squash当NF
Kubernetes(简称K8S)是一个开源的容器编排引擎,通过K8S,我们可以很方便地管理容器化的应用程序。在K8S中,挂载(Mount)是一个非常重要的操作,它可以实现把存储卷挂载到容器中,实现数据的持久化和共享。在本文中,我将教会你如何在K8S中进行挂载操作。 首先,让我们来看一下整个挂载的流程,我将通过表格展示给你: | 步骤 | 操作
原创 6月前
28阅读
前言一个运行中的容器,缺省情况下,对文件系统的写入,都是发生在其分层文件系统的可写层的,一旦容器运行结束,所有写入都会被丢弃。因此需要对持久化支持。Kubernetes 中通过 Volume 的方式提供对存储的支持。1. PV、PVC 概念梳理图解漫画,写的很好PV和PVC的理解2 k8s volumes 类型2.1 文件挂载的四种方式configMap将想要挂载的文件内容在tpl中进行defin
转载 2023-08-16 10:44:54
407阅读
简单使用通过StorageClass动态分配存储卷分配方式静态分配动态分配踩坑 简单使用关于k8s 简单实用ceph, 以下两篇文章给出了详细步骤和要注意的事项:https://github.com/kubernetes/kubernetes/tree/master/examples/volumes/cephfshttp://tonybai.com/2017/05/08/mount-cephfs
目录方式一:nfs挂载到宿主机目录方法二:在机器上搭建nfs,其余使用就可以手动静态创建所要的pv和pvc,或创建pvc动态创建pv修改kube-apiserver.yaml ,增加 - --feature-gates=RemoveSelfLink=false创建RBAC授权两种方式:方式一:nfs挂载到宿主机目录优点: 简单易用,无需额外支持 缺点:依赖宿主机磁盘容量,pod
这里写自定义目录标题基于Ubuntu16.04的K8S集群的安装1、准备工作1、配置系统2、安装docker3、设置相关属性4、安装kubernetes相关软件包2、部署集群 基于Ubuntu16.04的K8S集群的安装本文主要记录k8s的集群(2个节点,一个master一个worker)在ubuntu16.04系统中的安装1、准备工作大致步骤如下:1、配置系统关闭防火墙,selinux,配置/
为了保证数据的持久性,必须保证数据在外部存储在docker容器中,为了实现数据的持久性存储,在宿主机和容器内做映射,可以保证在容器的生命周期结束,数据依旧可以实现持久性存储。但是在k8s中,由于pod分布在各个不同的节点之上,并不能实现不同节点之间持久性数据的共享,并且,在节点故障时,可能会导致数据的永久性丢失。为此,k8s就引入了外部存储卷的功能。Volumehttps://kubernetes
volume:持久化存储卷,可以对数据进行持久化存储查看k8s支持哪些存储[root@master ~]# kubectl explain pods.spec.volumes 常用的如下: emptyDir hostPath nfs persistentVolumeClaim glusterfs cephfs configMap我们想要使用存储卷,需要经历如下步骤(1)定义pod的volume,这
前言       最近在学习 kubernetes 过程中,想实现 pod 数据的持久化。在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业。在选型方面,个人更加倾向于社区火热的项目,GlusterFS、Ceph 都在考虑的范围之内,但是由于 GlusterFS 只提供对象存储和文件系统存储,而 Ceph 则提供对象存储、块存储以及文件
作者 | 何淋波(新胜) 阿里云容器服务技术专家   首先一起来看一下需求来源。大家应该都有过这样的经验,就是用一个容器镜像来启动一个 container。要启动这个容器,其实有很多需要配套的问题待解决: 第一,比如说一些可变的配置。因为我们不可能把一些可变的配置写到镜像里面,当这个配置需要变化的时候,可能需要我们重新编译一次镜像,这个肯定是不
1 共享存储示例:apiVersion: v1 kind: Pod metadata: name: podtest spec: containers: - name: write image: centos commond: ["bash", "-c", "for i in (1..100);do echo $i >> /data/hello;sleep
转载 3月前
20阅读
在 “Docker基础知识 (21) - Kubernetes(四) | 在 K8s 集群上部署 NFS 实现共享存储 (1)” 里我们演示如何在 K8s 集群中部署 NFS 和创建静态 PV/PVC,本文将继续演示如何创建动态 PV/PVC。 Kubernetes 的共享存储详细介绍,请参考 “系统架构与设计(7)- Kubernetes 的共享存储”。NFS (Network File Sys
下面以chart为例子:1、创建ConfigMap,这里要注意config.js为挂载的文件名[root@cn-hongkong templates]# cat app-config.yamlapiVersion: v1kind: ConfigMapmetadata:name: {{ .Values.app.name }}-confignamespace: {{ .Values.app.names
1、简介        存储抽象,即将存储单独用一个服务去联系起来。以前我们习惯把各个pod的卷挂载到其主机上的某个位置,但k8s的集群特点之一是master节点的随机分配,若有一个pod宕机,k8s会自动创建一个新的pod,当此时若新的pod没有分配到原先的节点上,则原理与本机挂载的文件将作废,导致数据丢失。为了解决
经过上文了解,我们把共享存储的理念了解清楚了,那么咱们就实操一把,这里我们的底层存储服务选择了GlusterFS,看看如何操作。3、glusterfs环境准备要求:1、GlusterFS需要三个节点(我这里只有两个节点,就配置两个了,能跑起来,但是后面会有问题,本文会执行不下去,必须配置三个节点以上,我这里只做演示来用,如果你的系统资源足够,但是node节点不够,可以扩增node节点数哈,前面的文
  • 1
  • 2
  • 3
  • 4
  • 5