01 2021 档案
摘要:一 先来介绍容器启动后钩子 1.1 容器启动后钩子,并不是容器启动之后才会执行的操作,而是在容器启动过程中,异步的和容器进行启动的一种钩子它有2种表现形式,包括我们后面提到的容器结束前钩子一样 在一个容器内部执行一条命令 或者向URL发起一个HTTP的get请求 1.2 创建一个带有容器启动后钩子的
阅读全文
摘要:一 init容器的作用 1.1 init容器是在pod的生命周期,保证该pod运行的一些前置条件满足之后才开始运行这个pod,例如需要依赖一些其他的pod,服务等,可以去对这些服务的状态进行检测,等所有前置的pod都好了才开始运行主容器,一个例子如下所示。 apiVersion: v1 kind:
阅读全文
摘要:一 节点的污点以及pod的容忍度以及节点的亲缘性对比 1.1 首先需要介绍的是节点的污点以及pod的污点容忍度 污点是节点的属性,容忍度是pod的属性,只有当一个pod的容忍度包含节点的污点,pod才能够将其调度到该节点上 1.2 对比污点和容忍度以及节点的亲缘性的应用场景 节点的污点是,通过对现有
阅读全文
摘要:一 pod的自动伸缩容的应用背景 在面对负载并发过高的时候,我们或许希望能够提高RS,RC以及Deployment等的replicas的参数来增加pod的cpu,mem等,或者是通过提高每个容器的requests的值,进而来提升系统的负载能力,但是我们可以通过手动的方式去调节RS,RC以及deplo
阅读全文
摘要:一 为啥需要为命名空间里面添加pod添加默认的requests和limits? 通过前面的学习我们已经知道,如果节点上面的pod没有设置requests和limits,这些容器就会受那些设置了的控制,一旦出现节点内存资源超卖,这些未被设置的pod则会优先被kubernetes清除,所以对于每个pod
阅读全文
摘要:一 Qos的种类 BestEffort(优先级最低) Burstable(中等优先级) Guaranteed(最高优先级) 二 Qos的作用 众所周知,节点上面的limits允许超卖,当节点上面的内存总值大于100的时候,就必须要对某个容器删除,从而为其他容器腾出来内存空间,以上的Qos等级就决定着
阅读全文
摘要:一 pod中容器的limits属性的作用 1.1 创建一个带有资源limits的pod apiVersion: v1 kind: Pod metadata: name: limited-pod spec: containers: - image: busybox command: ["dd","if
阅读全文
摘要:一 为pod分配cpu,内存以及其他的资源 1.1 创建一个pod,同时为这个pod分配内存以及cpu的资源请求量 apiVersion: v1 kind: Pod metadata: name: requests-pod spec: containers: - image: busybox com
阅读全文
摘要:一 向某个文件批量加入内容 1.1 向/etc/wxm文件添加一大段内容可以使用这个命令 [root@registry easyrsa3]# cat <<EOF >varsset_var EASYRSA_REQ_COUNTRY "CN" set_var EASYRSA_REQ_PROVINCE "B
阅读全文
摘要:一 在pod中使用宿主节点的命名空间 1.1 在pod中使用宿主的网络命名空间 [root@node01 Chapter13]# cat pod-with-host-network.yml apiVersion: v1 kind: Pod metadata: name: pod-with-host-
阅读全文
摘要:一 集群角色以及集群角色绑定 1.1 前面我们提到过角色以及角色绑定,那么现在为什么会出现集群级别的角色以及角色绑定,作用有如下所示 我们如果需要在所有的命名的空间创建某个角色或者角色绑定的时候,按照目前已经学习的方法只能将现有的命名空间里一个一个的去创建,并且这种办法只能创建已经存在的命名空间,对
阅读全文
摘要:一 了解认证机制 1.1 API的服务器在接收来自客户端的请求的时候会对发起的用户进行几个步骤 认证插件进行认证,确认发起的用户是外部用户,还是集群中的某个命名空间里面的pod 确认用户属于哪个组,这个组被赋予对集群资源的哪些权限,是否有对这些资源的增删改查的权限 最后才确认能否成功的对资源进行修改
阅读全文
摘要:一 服务如何通过kubernetes集群的组件来实现其功能 1.1 节点上的所有的服务相关的功能实现都是通过节点上面的kube-proxy来实现的,服务提供了一个或者多个服务IP以及端口对客户端开放,将其中的流量转发到对应的后端的pod上面去,每个service都有其稳定的IP地址以及端口,IP地址
阅读全文
摘要:一 创建一个deployment的时候整个kubernets集群的资源和事件的调用链 1.1 创建一个deployment的资源,在提交的时候,集群中的调度器,控制器以及node节点上kubelet就已经通过监听各自资源类型的变化,如图所示 kubernets组件通过API服务器监听API对象 1.
阅读全文
摘要:一 了解调度器 1.1 调度器是如何将一个pod调度到节点上的 我们都已然知晓了,API服务器不会主动的去创建pod,只是拉起系统组件,这些组件订阅资源状态的通知,之后创建相应的资源,而负责调度pod的则是调度器,调度器也不会主动去创建pod,当它从API订阅得知自己需要调度pod的时候,会将pod
阅读全文
摘要:一 了解kubernets的运行机理 1.1 了解架构 众所周知,kubernets的组成由2个部分组成 kubernets 平面 node节点 (工作节点) 控制平面的组成 etcd 分布式的持久化存储 apiserver 服务器 scheduler 调度器 controller manager
阅读全文
摘要:一 了解Statefulset 1.1 对比statefulset与RS以及RC的区别以及相同点 Statefulset是有状态的,而RC以及RS等是没有状态的 Statefulset是有序的,拥有规则的主机名和名称,而RS以及RC是无序的 通常为Statefulset提供的服务一般都是创建head
阅读全文
摘要:一 声明式的升级应用 1.1 回顾一下kubernets集群里面部署一个应用的形态应该是什么样子的,通过一副简单的图来描述一下 通过RC或者RS里面的模板创建了三个pod,之后通过一个servcie跟它进行关联 用户通过service访问pod里面应用 RC或者RS来维护保障集群里面的pod数量始终
阅读全文
摘要:一 为何需要与kubernets集群的API服务器进行交互 1.1 kubernets提供了一种downapi的资源可以将pod的元数据渲染成环境变量或者downward卷的形式挂载到容器的文件系统上面去,但是这种操作只能将很少的数据暴露挂载pod的容器中,如果希望能将更多的数据暴露到容器里面去,需
阅读全文
摘要:一 downwardAPI的应用 1.1 前面我们介绍了如何通过configmap以及secret将配置传入到pod的容器中,但是传递的这些都是预先能够安排和只晓得,对于那些只有当pod创建起来之后才由其他一些资源创建的配置,上面说到的那些都没用,我们需要另外一种kubernets资源来提供这些配置
阅读全文
摘要:一 对于一些保密度比较高的文件,k8s又是如何存储的呢? 针对那些保密度比较高的配置文件,例如证书以及一些认证配置不能直接存储在configmap中,而是需要存储在另外一种资源中,需要对存储在里面的数据进行加密,并且只会调度到需要的pod上面,在pod上面所在的节点上,secret卷并不会存储在硬盘
阅读全文

浙公网安备 33010602011771号