K8S存储相关yaml
一、ConfigMap
1、使用目录创建
vim game.properties
vim ui.properties
在一个文件夹下创建两个文件,通过以下命令创建
kubectl create configmap game-config --from-file=../configMap/
--from-file:指定一个目录(绝对路径或相对路径都可以),目录下的所有内容都会被创建出来。以键值对的形式
--from-file指定在目录下的所有文件都会被用在 ConfigMap 里面创建一个键值对,键的名字就是文件名,值就是文件的内容
查看可以使用以下命令
kubectl get cm kubectl get cm game-config -o yaml kubectl describe cm game-config
2、使用文件创建
kubectl create configmap game-config- --from-file=docs/user-guide/configmap/kubectl/game.properties
和目录创建差不多,将目录换成了单个文件而已,查询方式一样
3、使用字面值创建
使用文字值创建,利用--from-literal参数传递配置信息,该参数可以使用多次,格式如下
kubectl create configmap configmap名 --from-literal=键名=键值 --from-literal=键名=键值 $ kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm
指定键名为special.how 键值为very
literal:字面意义的
二、Secret
1、Secret 存在意义
Secret 解决了密码、token、密钥等敏感数据的配置问题
2、Secret 有三种类型
Service Account:用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的/run/secrets/kubernetes.io/serviceaccount目录中
Opaque:base64编码格式的Secret,用来存储密码、密钥等
kubernetes.io/dockerconfigjson:用来存储私有 docker registry 的认证信息
#!/bin/sh -x
1. 表明这个脚本是用sh来解析的,因为各种shell的语法还是有细微差别的,比如其他的shell还有bash
2.-x 是调试用的,加了这个,就会把脚本中的每条命令的执行情况打印出来
以下部分为转载:
我们在前面介绍的调试手段是通过修改shell脚本的源代码,从其输出相关的调试信息来定位错误的,那有没有不修改源代码来调试shell脚本的方法呢?有的,那就是使用shell的执行选项,下面将介绍一些常用选项的用法:
-n 只读取shell脚本,但不实际执行
-x 进入跟踪方式,显示所执行的每一条命令
-c "string" 从strings中读取命令
"-n"可用于测试shell脚本是否存在语法错误,但不会实际执行命令。在shell脚本编写完成之后,实际执行之前,首先使用"-n"选项来测试脚本是否存在语法错误是一个很好的习惯。因为某些shell脚本在执行时会对系统环境产生影响,比如生成或移动文件等,如果在实际执行才发现语法错误,您不得不手工做一些系统环境的恢复工作才能继续测试这个脚本。
"-c"选项使shell解释器从一个字符串中而不是从一个文件中读取并执行shell命令。当需要临时测试一小段脚本的执行结果时,可以使用这个选项,如下所示:
sh -c 'a=1;b=2;let c=$a+$b;echo "c=$c"'
"-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。"-x"选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 "-x"选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。
如果把本文前面所述的trap ‘command’ DEBUG机制与“-x”选项结合起来,我们就可以既输出实际执行的每一条命令,又逐行跟踪相关变量的值,对调试相当有帮助。
原文链接:https://blog.csdn.net/xuezhangjun0121/article/details/89514014
三、Volume
阿里云时间同步服务器:ntpdate ntp1.aliyun.com
进入pod:kubectl exec -it pod名 -it --/bin/sh
清除污点:kubectl taint node liu-node02 app:NoExecute-
如何进入一个pod:kubectl exec -it name-of-pod bash

这个地方加sleep,只是让这个进程别着急退出,docker管理的是一个常驻前台的进程,busybox单纯这个镜像没有任何进程在前台,所以执行就会退出,所以这里用sleep,改成top命令也可以,这样也不会退出了
empty
1、一个pod一个容器
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: k8s.gcr.io/test-webserver
name: test-container
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}

2、一个pod两个容器
apiVersion: v1
kind: Pod
metadata:
name: v-empty
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: empty
mountPath: /liu
- name: busybox
image: busybox
volumeMounts:
- name: empty
mountPath: /qi
command: ["/bin/sh","-c","sleep 600s"]
volumes:
- name: empty
emptyDir: {}

hostPath
apiVersion: v1
kind: Pod
metadata:
name: v-empty
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: empty
mountPath: /liu
volumes:
- name: empty
hostPath:
path: /liuqi
type: Directory
四、PV-PVC
K8S存储相关yaml的更多相关文章
- Elasticsearch Date类型,时间存储相关说明
资料 网址 Elasticsearch 插入时间字段时数据格式问题 https://segmentfault.com/a/1190000016296983 Elasticsearch Date类型,时 ...
- k8-s存储
原文 https://mp.weixin.qq.com/s/6yg_bt5mYKWdXS0CidY6Rg 从用户角度看,存储就是一块盘或者一个目录,用户不关心盘或者目录如何实现,用户要求非常" ...
- k8s 执行 ingress yaml 文件报错: error when creating "ingress-myapp.yaml": Internal error occurred: failed calling webhook
k8s 执行 ingress yaml 文件报错:错误如下: [root@k8s-master01 baremetal]# kubectl apply -f ingress-test.yaml Err ...
- K8S创建的相关yaml文件
一.K8S-yaml的使用及命令 YAML配置文件管理对象 对象管理: # 创建deployment资源 kubectl create -f nginx-deployment.yaml # 查看dep ...
- (转)原理到实现 | K8S 存储之 NFS
转:https://mp.weixin.qq.com/s/Mrr1Rnl_594Gyyn9fHekjw 1NFS介绍 NFS是Network File System的简写,即网络文件系统,NFS是Fr ...
- (转)k8s存储之NFS
转:https://www.cnblogs.com/DaweiJ/articles/9131762.html 1 NFS介绍 NFS是Network File System的简写,即网络文件系统,NF ...
- Kubernetes K8S之通过yaml文件创建Pod与Pod常用字段详解
YAML语法规范:在kubernetes k8s中如何通过yaml文件创建pod,以及pod常用字段详解 YAML 语法规范 K8S 里所有的资源或者配置都可以用 yaml 或 Json 定义.YAM ...
- 4.k8s存储之Volume、PV、PVC和StatefulSet
3.Volume 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题.首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失--容器以干净的状态(镜像最初的 ...
- k8s存储卷概述
pod本身具有生命周期,故其内部运行的容器及其相关数据自身均无法持久存在.docker支持配置容器使用存储卷将数据持久存储于容器自身文件系统之外的存储空间中,它们可以是节点文件系统或网络文件系统之上的 ...
随机推荐
- Jenkins必备插件
1.汉化插件 https://plugins.jenkins.io/localization-zh-cn 2.邮件发送 https://plugins.jenkins.io/email-ext 3.G ...
- swan.after
解释: swan.after可以拦截所有当前运行小程序对于API的调用,默认传入function时,只在API函数调用的返回阶段拦截.如果传入Object,则可以选择拦截的阶段(例如: 返回阶段.回调 ...
- C++ 运算符优先级顺序表 (最新/完整)
优先级 运算符 结合律 助记 1 :: 从左至右 作用域 2 a++.a--.type().type{}.a().a[]...-> 从左至右 后缀自增减.函数风格转型.函数调用.下标.成员访问 ...
- python中私有属性的访问
class MyClass(): def __init__(self): self.__superprivate = "Hello" self.__semiprivate = &q ...
- List of yellow pages
List of yellow pages From Wikipedia, the free encyclopedia [hide]This article has multiple issues. ...
- Altium Designer chapter2总结
原理图开发环境这节中需要注意的如下: (1)电路图首先项设定中需注意的地方: 1.General:中经常用到的自动生成交叉节点.放置元件时自动增加选项.复合封装元件的字母数字后缀选项.默认电源对象名称 ...
- Fiddler抓包ios亲测
1 打开Fiddler设置端口 2 设置可以抓取https选项 3 手机连接WIFI和电脑处于同一局域网并设置代理端口和fiddler中设置一致 4 证书安装手机浏览器输入代理电脑ip及端口如192. ...
- 浅谈JSONObject解析JSON数据
我们在做jmeter接口测试时能会用beanshell断言,一般都会将返回值转成JSONObject对象进行处理.本文选取较为复杂json格式数据,也将适用于java接口测试. JSON数据 { &q ...
- 字符串模式匹配算法系列(二):KMP算法
算法背景: KMP算法是由Donald Knuth和Vaughan Pratt于1970年共同提出的,而James H.Morris也几乎同时间独立提出了这个算法.因此人们将其称作“克努特-莫里斯-普 ...
- onblur和onkeyup事件
onblur:事件会在对象失去焦点时发生 提示:onblur 相反事件为onfocus事件 . onkeyup: 事件会在键盘按键被松开时发生. 提示:与onkeyup 事件相关的事件发生次序: on ...