美文网首页
【k8s-10】--pod使用进阶

【k8s-10】--pod使用进阶

作者: 一个热爱生活的好少年 | 来源:发表于2018-12-27 16:23 被阅读0次

k8s中特殊的Vloume:project Volume

他们存在的意义不是为了存放容器的数据,也不是用来容器与宿主机的数据交互。是为容器提供预先定义好的数据。

以下四种project Volume:
1.Secret:把pod访问的加密数据存放到Etcd中。后通过挂载方式访问到Secret里保存的信息。
2.ConfigMap:
3.Downward API:
4.ServiceAccountRoken:

image.png

在上诉pod中,定义的容器挂载了projected,这个volume的数据来源(sources)对应-user -pass的对象。这里用到的数据,正是以Secret对象的方式交给k8s保存。
如下:创建Secret对象


image.png

如下通过YML文件创建Secret对象:


image.png

由上可得:Secret对象只有一个。但是他的data字段却key-value的方式保留两份数据。

需要注意的是:Secret对象要求数据是必须Base64转码的。


image.png

以上只是转码并没有加密,生产环境中需要开启Secret的加密插件,增强数据的安全性。
创建pod:


image.png

当pod变成running之后,secret对象是不是已经在容器中了:


image.png
从返回的结果我们可以看出已经指向data字段的key了。数据来源于Etcd。
与Secret类似的Configmap:它保存的是不需要加密的,应该需要的配置信息。
如何把文件保存到ConfigMap中:
image.png

kubectl get -o yaml 这样的参数。会将指定的Pod API 对象以YAML的方式展现出来。

而Downward API,让pod的里面的容器能够直接获取到这个Pod API对象的信息。
例子:


image.png

由上面的pod的YML文件中可得,一个容器声明了project类型的Volume,只不过来源变成了Downward API。,需要声明了要暴露Pod的metadata.labels给容器。
通过这样的声明方式: 当前Pod的labels字段的值,就会呗Kubernetes自动挂载成为 /etc/podinfo/labels
这个容器启动之后就是不断的打印容器的Labels的字段。


image.png image.png

Service Account
1.可否再pod中安装一个k8s的client,这样就可以从容器里直接访问并且操作k8s的API。 可。需要解决API server 授权问题。
1.1Service Account的授权信息实际上它保存再一个特殊的Secret对象中。即;ServiceAccountToken.任何k8s集群上的应用都必须使用这个的授权信息。,也就是token,才可以合法访问APIserver。

为了方便使用k8s已经提供了默认的服务账户,运行再pod之中,无需声明挂载。

如何做到的呢?
主要靠的是 projected Volume机制。


image.png

pod的健康检测与恢复机制。
在k8s中,你可以为pod里面的容器定义一个健康检查”探针“:Probe。kubelet就会根据这个Probe的放回值决定容器的状态。pod恢复机制,在任何时候容器发生了异常,都会被重建。


image.png

相关文章

  • 【k8s-10】--pod使用进阶

    k8s中特殊的Vloume:project Volume 他们存在的意义不是为了存放容器的数据,也不是用来容器与宿...

  • CocoaPods进阶:制作公有库

    一、 前言 在CocoaPods进阶:详解私有库制作这篇博客中,讲解记录了cocoapods使用pod lib c...

  • 进阶-pod实战

    转发 请添加原作者地址 谢谢 转发 请添加原作者地址 谢谢 转发 请添加原作者地址 谢谢 组建场景 公司项目使用微...

  • Pod 高级进阶

    本文链接 https://www.jianshu.com/p/134092c8e105 configMap Con...

  • 四、Pod进阶

    1、通过yaml文件创建pod apiVersion:api的版本,可以通过kubectl api-version...

  • CocoaPods【制作篇】

    Pod创建 Step 1 使用pod lib create来创建一个完整的pod 如果要使用自己的pod-temp...

  • pod相关文档

    是该pod install 还是pod update正确的使用pod install 和 pod update

  • Objective-C工程使用RAC

    Objective-C工程使用RAC,使用pod导入:pod 'ReactiveCocoa', '2.5'需要使用...

  • 2019-04-17

    pod update 和 pod install 速度慢 使用 ··· ··· pod install --ver...

  • 4. kubernetes 资源清单 - pod进阶

    4. kubernetes 资源清单 - pod进阶 请依据kubernetes版本及官方文档 kubernete...

网友评论

      本文标题:【k8s-10】--pod使用进阶

      本文链接:https://www.haomeiwen.com/subject/jcsaqqtx.html