首页 > 其他分享 >k8s学习笔记

k8s学习笔记

时间:2022-11-29 21:14:52浏览次数:41  
标签:容器 pv name 笔记 学习 yaml pvc mysql k8s

1.pv学习mysql-pv.yaml
apiVersion: v1
kind: PersistentVolume #申明资源是pv
metadata:
  name: pv-mysql-datadir #pv名称
labels:
  pv: mysql-datadir #pv标签,pvc关联的名称
spec:
  capacity:
    storage: 20Gi #存储大小
  accessModes:
    - ReadWriteMany #目录权限,可以以读写的方式被多个node挂载
  persistentVolumeReclaimPolicy: Retain #pv回收策略,Retain保留,delete删除
  hostPath:
    path: /data/aibox-common/mysql/datadir #挂载的宿主机目录,或者是nfs的目录
---  #分隔符,可以在此下边写另一个pv,一个yaml文件,多个pv


2.pvc学习mysql-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-mysql-datadir #申明资源是pvc
spec:
  accessModes:
    - ReadWriteMany  #pvc权限,可以以读写的方式被多个pod挂载
  resources:
    requests:
      storage: 20Gi  #存储大小
  selector:
    matchLabels:
      pv: mysql-datadir #pvc关联pv的标签
---  #分隔符,可以在此下边写另一个pvc,一个yaml文件,多个pvc

3.configMap学习
#创建一个名为mysql-conf的configmap对象,以文件方式创建
kubectl create cm mysql-conf --from-file=/data/aibox-common/mysql/config/my.cnf

#以目录方式创建
kubectl create cm cm-config --from-file=/data/aibox-common/cm-server/config

4.svc和deployment控制器学习mysql-deployment.yaml apiVersion: v1 kind: Service #申明资源是svc metadata: name: mysql-svc #svc名称 labels: app: mysql #svc标签 spec: type: NodePort #配置为NodePort,外部可以访问 ports: - port: 23306 #容器间,服务调用的端口 targetPort: 23306 #容器暴露的端口,与Dockerfile暴露端口保持一致 nodePort: 23306 #NodePort,外部访问的端口,宿主机开启的端口 selector: app: mysql #标签选择器 --- apiVersion: apps kind: Deployment #申明资源是deployment metadata: name: mysql-d #控制器的名称,deployment此名称加随机数字,statefulset是此名称加从0开始顺序数字 spec: replicas: 1 #复制副本1 selector: matchLabels: app: mysql #筛选的选择器,如寻找mysql的pvc template: metadata: labels: app: mysql #标签选择器,给pod定义的标签 spec: nodeName: k8s-master01 #申明node主机名hostname containers: #容器信息 - name: mysql #容器名称 image: 172.16.4.17:8090/public/mysql:5.7.29 #容器镜像 imagePullPolicy: IfNotPresent #Always总是拉取镜像 ifNotPresent本地有则使用本地镜像,不拉取 Never 只使用本地镜像,从不拉取,即使本地没有 ports: - containerPort: 23306 #容器端口 name: myport env: #环境变量 - name: MYSQL_ROOT_PASSWORD #mysql密码 value: "ytx@1234" resources: requests: memory: 3Gi #运行pod具备的条件,软限制 limits: memory: 6Gi #最多可以使用多少资源,硬限制 volumeMounts: - name: my mountPath: /var/lib/mysql #容器目录 - name: localtime mountPath: /etc/localtime #容器目录 readOnly: true #只读权限 - name: config-volume mountPath: /etc/mysql/my.cnf #容器目录 subPath: my.cnf #不加的话,覆盖/etc/mysql整个目录,加上的话只覆盖对应的文件 volumes: - name: my persistentVolumeClaim: claimName: pvc-mysql-datadir #挂在到pvc名称 - name: localtime hostPath: path: /etc/localtime #将宿主机的/etc/localtime映射到pod type: "" - name: config-volume configMap: name: mysql-conf #configMap名称 restartPolicy: Always #pod启动策略,总是重启 ---

5.上边就是全部内容,可以根据实际情况修改对应的值,然后就是按照顺序启动就可以了,启动yaml文件命令,kubectl apply -f *.yaml

 

标签:容器,pv,name,笔记,学习,yaml,pvc,mysql,k8s
From: https://www.cnblogs.com/Leonardo-li/p/16936707.html

相关文章

  • C#设计模式读书笔记之设计模式的设计原则
    设计模式的设计原则:(重要性从上往下排列)开闭原则:对扩展开放,对修改关闭依赖倒转原则:高层模块不应该依赖底层模块,它们都应该依赖抽象;要针对抽象层编程,而不要针对具体类编程。......
  • java学习问题
    1、nacosConnectionrefused:connect由于配置文件配置错误引起的。我的nacos是部署在另一台linux服务器的,yml具体配置如下: ......
  • 注册不到两年半Github标星39k+,吴恩达、李航老师的作品的笔记和代码实现
    2017年11月,我注册了github,现在差不多两年半了,一共收获了约39000star,排名个人用户81。今天,我就对我的github做下介绍,里面的几个仓库,非常适合机器学习和深度学习入门。......
  • 首发:徐亦达教授团队最新发表的两篇机器学习论文
    徐亦达团队在AsianConferenceonMachineLearning的发表了两篇机器学习论文,本人得到徐老师授权在本站发布论文。论文1:RealisticImageGenerationusingRegion-phrase......
  • angr_ctf——从0学习angr(二):状态操作和约束求解
    状态操作angr中提到的状态(state)实际上是一个Simstate类,该类可由Project预设得到。预设完成后,还可以根据需要对某些部分进行细化操作。一个state包含了程序运行到某个阶段......
  • AES算法学习02:原理总结和实现(ECB)
    一原理介绍:其实AES就是对16byte(128bit)数据进行加密的过程。说白了就是把128位通过一系列的变化变成另一个128数据。   这里主要用到2个关键的东西。密钥(key)这个是绝......
  • Android约束布局:ConstraintLayout学习文章记录
    (一)Android新特性介绍,ConstraintLayout完全解析(二)ConstraintLayout完全解析快来优化你的布局吧参考官方文档:​​https://developer.android.com/reference/android/suppor......
  • 面向机器学习的特征工程翻译版
    前些日子推荐了一个仓库,是知名开源apachecn组织翻译的《面向机器学习的特征工程》英文版,可以说是特征工程的宝典,值得推荐。仓库说明知名开源apachecn组织翻译了《面向机器学......
  • 为什么越来越多的程序员开始学机器学习的原因
    越来越多的程序员开始学习机器学习了,看了本文,也许解释了为什么?一、前言程序员容易掉头发,而且,头发的多少似乎跟能力成反比:1、PHPPHP之父,RasmusLerdorf2、JavaJava之父,James......
  • DRF-Django Rest frameWork脉络笔记
    1.Web应用模式在开发Web应用中,有两种应用模式:前后端不分离前后端分离2.api接口为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接......