码迷,mamicode.com
首页 > 其他好文 > 详细

k8s核心技术概念二

时间:2018-07-17 16:34:34      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:实现   租户   丢失   用户创建   资源库   指定   name   联系   replica   

volume

volume是pod中能被多个容器访问的共享目录,k8s中的volume与pod生命周期相同,当容器终止或重启时,volume中的数据不会丢失。示例

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: frontend
spec:
  replicas: 1
  selector:
    matchLabels:
       tier: frontend
    matchExpressions:
       - {key: tier,operator: In,values: [frontend]}
  template:
    metadata:
      labels:
          app: app-demo
          tier: frontend
    spec:
      volumes:
        - name: datavo1
          emptyDir: {}
      containers:
      - name: tomcat-demo
        image: consol/tomcat-7.0
        imagePullPolicy: IfNotPresent
        volumeMounts:
          - mountPath: /mydata-data
            name: datavo1
        ports:
        - containerPort: 8080

emptyDir: 

      empytDir volume是在pod分配到node的时创建的,初始内容为空,并且无需指定主机上对应的目录文件(k8s自动分配),当          pod从node上移除时,emptyDir中的数据也会被永久删除

 

hostPath:

      hostPath为在pod上挂载宿主机上的文件或目录

技术分享图片

NFS:

     使用nfs网路文件系统存储数据,需要部署一个nfs server,如下:

技术分享图片

PV(Persistent Volume) 网络存储:

技术分享图片

技术分享图片

 

Namespace命名空间

  Namespce在很多情况下实现了多租户的资源隔离,通过将集群内部的资源对象分配到不同的namespace中,形成逻辑上分组的不同项目、小组或用户组,便于区分管理

    k8s启动后,默认创建一个名为“default”的namespace,通过kubectl命令可查看,用户创建的资源对象,默认放到default命名空间中

kubectl get namespaces        #获取命名空间

kubectl get pods(service、rc ) --namespace=<namespace名称>  #获取指定命名空间的资源

Annotation

Annotation与label类似,也是用key=value键值对的形式进行定义,不同的是,lable有严格的命名规则,定义的对象为元数据(metadata)并且用于label selector,而Annotation 是用户定义的任意附加信息

  • build信息、release信息、docker镜像信息。如时间戳、release id号,docker registry地址
  • 日志库、监控库、分析库等资源库地址
  • 程序调试工具信息
  • 团队联系信息

 

k8s核心技术概念二

标签:实现   租户   丢失   用户创建   资源库   指定   name   联系   replica   

原文地址:https://www.cnblogs.com/FRESHMANS/p/9322571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!