摘要:一、ClusterRole和ClusterRoleBinding架构图说明 ### ClusterRole和ClusterRoleBinding架构图说明 ~~~ 首先我们有了一个cluster-admin的ClusterRole ~~~ 然后还有一个admin-user的一个ServiceAcco
阅读全文
摘要:一、RBAC的使用 ### 官方地址: ~~~ https://kubernetes.io/docs/reference/access-authn-authz/rbac/ ### RBAC注意事项 ~~~ 基于用户名密码实现不同用户有不同的权限 ~~~ 基于ServiceAccount实现不同的SA
阅读全文
摘要:一、rbac在安装k8s的时候就已经启用了 ### rbac在安装的时候就已经启用它了 ~~~ RBAC是可以接入第三方的。 [root@k8s-master01 ~]# more /usr/lib/systemd/system/kube-apiserver.service [Service] Ex
阅读全文
摘要:一、role和ClusterRole使用场景 ### role和ClusterRole ~~~ # 该使用role还是该使用ClusterRole? ~~~ 当为某一个namespace去创建一个单独的role的话是没有去创建ClusterRole的, ~~~ 若是有很多namespace,需要创建
阅读全文
摘要:一、RBAC概述 ### RBAC说明 ~~~ # RBAC: ~~~ 基于角色的访问控制,Role-Based Access Control。 ~~~ 他是一种基于企业内个人角色来管理一些资源的访问方法。 ### Jenkins使用基于角色的用户权限管理。 ~~~ RBAC:4中顶级资源,Role
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、拓扑域划分示例 二、使用Topology实现多地多机房部署 ### 使用Topology实现多机柜部署 ~~~ 模拟一下5个节点是属于同一个机房不同机柜的,为其打标签 [root@k8s-master01 ~]# kubectl label node k8s-master01 k8s-node0
阅读全文
摘要:一、Topology概述 ### Topology说明 ~~~ # TopologyKey: ~~~ kubernetes.io/hostname ~~~ # topologykey: ~~~ 拓扑域,首先说明不同的可以不同的value是属于不同的拓扑域 ~~~ topologykey的值代表一个拓
阅读全文
摘要:一、pod的亲和力:跨namespace: ### pod亲和力实验说明 ~~~ 与指定pod部署在一块,是可以块namespace的: ~~~ 把demo-nginx和kube-systemnamespace下的符合label ~~~ 为k8s-app=calico-kube-controller
阅读全文
摘要:一、Pod的反亲和力: ### 编辑yaml文件:编写pod的反亲和力的参数 ~~~ # 编辑yaml文件 ~~~ 就是尽量不和namespace下的kube-system,key: k8s-app的值为values:calico-kube-controllers的pod尽量不要部署在一块 [roo
阅读全文
摘要:一、若是想把demo-nginx部署在不同的节点上面, ### 部署demo-nginx至不同的宿主机上 ~~~ 编写yaml文件 ~~~ demo-nginx就和当前的app下的demo-nginx匹配,不写namespace就是当前的namespace下 [root@k8s-master01 ~
阅读全文
摘要:一、Pod亲和力和反亲和力概述 ### pod亲和力说明 ~~~ Pod亲和力:尽量将Pod部署在一起 ~~~ Pod反亲和力:不尽量将Pod部署在一起 ### 官方地址: ~~~ https://kubernetes.io/docs/concepts/scheduling-eviction/ass
阅读全文
摘要:一、实验三: ### Exists:部署在具有某个存在key为指定的值的Node节点上 ~~~ 配置Exists参数 [root@k8s-master01 ~]# kubectl edit deploy demo-nginx affinity: nodeAffinity: preferredDuri
阅读全文
摘要:一、实验四: ### Gt: 大于指定的条件 条件为number,不能为字符串 ~~~ 打标签 [root@k8s-master01 ~]# kubectl label node k8s-node01 test.gt=a node/k8s-node01 labeled [root@k8s-maste
阅读全文
摘要:一、实验二:NotIn: ### pod不要部署在满足这些条件的节点上 ~~~ # 把pod部署在label不要部署在 kubernetes.io/e2e-az-name;values: ~~~ 是- e2e-az1和- e2e-az2节点上面。 ~~~ # 这样它就会部署在具有这个label的节点
阅读全文
摘要:一、实验一:书写yaml文件,配置NodeAffinity参数;验证和的关系 ### Affinity参数说明 ~~~ In:部署在满足多个条件的节点上 ~~~ NotIn:不要部署在满足这些条件的节点上 ~~~ Exists:部署在具有某个存在key为指定的值的Node节点上 ~~~ DoesNo
阅读全文
摘要:一、Affinity概述 ### Affinity:亲和力概述 ~~~ 之前容器部署都是随机去部署的,是通过一系列的算法来筛选出最优的节点, ~~~ 来定义部署在哪个节点上面。 ~~~ 虽然NodeSelect和taind可以执行这些操作,但是功能不够强大,不够灵活。 ~~~ Affinity和No
阅读全文
摘要:一、tolerationSeconds实验 ### 为容器打NoExecute,只能在上面停留60s;验证60s之后是否会被驱逐掉 ~~~ 为demo-nginx容器打NoExecute,只能在上面停留60s;60s之后还是会被驱逐的 [root@k8s-master01 ~]# kubectl e
阅读全文
摘要:一、InitContainer概述 ### InitContainer概述 ~~~ # InitContainer: ~~~ 初始化容器:预处理、预判断、与执行命令操作;在我应用容器启动之前做的一些舒适化操作。 ~~~ # postStart: ~~~ 在容器启动之前做一些操作。不能保证在你的con
阅读全文
摘要:一、NoSchedule静止调度,容器强制驱逐 ### 为master01打一个污点,NoSchedule类型,静止调度;容器会被强制驱逐 ~~~ 为master01节点打入污点,NoExecute类型 [root@k8s-master01 ~]# kubectl taint node k8s-ma
阅读全文