k8s入门到精通
文章平均质量分 82
k8s知识点
q_97
这个作者很懒,什么都没留下…
展开
-
k8s组件原理
pod创建和运行的过程中,kubelet会不断的向api server报告pod的状态信息,api server将这些状态更写入到etcd中保存,这样用户和其他组件可以通过api server查询pod的当前状态。不仅提供数据存储,还提供了监听机制,用于监听和推送变更,etcd的变化会通知api server,并通过watch api 向客户端输出。是所有组件的通信枢纽,就是接收,验证和处理集群内的各类请求,创建,更新,删除,同时将所有的数据和状态持久化到etcd中。通过后,存储pod数据到etcd。原创 2024-11-09 09:11:32 · 944 阅读 · 0 评论 -
kubernetes资源原理解读
服务发起方的envoy通过pilot-agent获取的pilot地址,实现服务发现获取目标服务的实例列表,frontend 服务侧的 Envoy 通过 Pilot 的服务发现接口得到 forecast 服务各个实例的地址。pilot将配置内容下发给envoy,根据pilot指令,将路由,服务,监听,集群等信息转换为本地的配置,完成控制行为的落地。动态的创建pv,通过供应商自动的创建pv,动态存储类与供应商进行绑定,并且和pvc进行绑定后,就会自动的创建出pv。原创 2024-10-14 13:34:02 · 588 阅读 · 0 评论 -
k8s istio学习
Bookinfo 应用分为四个单独的微服务1)productpage 这个微服务会调用 details 和 reviews 两个微服务,用来生成页面2)details 这个微服务中包含了书籍的信息;3)reviews 这个微服务中包含了书籍相关的评论,它还会调用 ratings 微服务;4)ratings 这个微服务中包含了由书籍评价组成的评级信息。reviews 微服务有 3 个版本1)v1 版本不会调用 ratings 服务;原创 2024-10-06 23:01:30 · 1322 阅读 · 0 评论 -
prometheus
如果时间超出,则 alert 的状态变为“FIRING”;同时最后至于警报信息具体发给谁,满足什么样的条件下指定警报接收人,设置不同报警发送频率,同时最后至于警报信息具体发给谁,满足什么样的条件下指定警报接收人,设置不同报警发送频率,创建sa账号,因为这些都是封装在pod里面的,所以的话,要获取系统中的信息的话,需要授权才行,k8s的apiserver,scheduler这些组件的信息。prometheus支持多种服务发现机制,k8s的api,consul,ec2等,自动识别新加入的服务或者实例。原创 2024-09-26 09:12:34 · 929 阅读 · 0 评论 -
k8s service
客户端的请求的时候,endpoint转发到对应的pod进行访问的地址,至于转发到那个节点上面去,kube-proxy来进行决定的。svc有ip,有端口,跟pod的端口都是虚拟的,svc的端口映射到主机上面的话就是NodePort类型的svc。每一个pod都有具体的ip,如果pod被删除的话,其pod的ip会重建,这样很不方便。在创建svc的时候,标签选择器会去找相关联的pod,endpoint对应pod的ip。kube-proxy监控svc的创建,会将pod的ip和svc的ip绑定在一起。原创 2024-09-22 15:22:22 · 797 阅读 · 0 评论 -
k8s rbac机制
主体为用户的话需要创建用户等一系列的操作,证书等主体为sa的话需要创建一个secret进行关联sa就是为了pod服务的,通过这个来进行通信对sa赋予权限,pod就能做出各种操作角色和集群角色角色只作用于单个名称空间集群角色作用于所有的名称空间主体sa,k8s的账号,pod访问k8s时的身份标识user 独立于k8s之外的账号RBAC(基于角色的访问控制),在k8s中权限检查流程如下1.认证用户或服务通过身份验证机制(证书,令牌等)与api server建立连接。原创 2024-09-22 15:21:51 · 897 阅读 · 0 评论 -
k8sconfigmap和secret管理中心
metadata:log: "1" #key和value值 lower: "1" [ root@master configmap ] # kubectl apply -f mysql-configmap.yaml configmap/mysql-cm created [ root@master configmap ] # kubectl get cm -n test NAME DATA AGE。原创 2024-09-22 15:20:15 · 479 阅读 · 0 评论 -
k8s 亲和性,污点,容忍度
根据pod与pod之间的关系, 有相同特征的话,就调度到同一个节点上面,访问的话,速度就更加的快一点。PreferNoSchedule 最后调度到这个节点上面。没有亲和性的话,就会随机的调度到node节点上面去。NoSchedule 创建的移走,已经存在的不影响。NoExecute 已经存在和创建的都移走。互为依赖数据库和web服务器,一起工作。根据已有的pod上面的标签,来进行调度。可以指定调度到node节点上面去。原创 2024-09-22 15:19:06 · 312 阅读 · 0 评论 -
k8s 控制器
rs通过标签控制po的,pod被误删的话,会自动的创建出来副本数量创建deployment时,会创建一个新的rs,然后创建Pod,通过rs管理pod删除deployment话,也会删除rs,pod更细的话,新镜像的版本的会产生一个新的rs,把旧的rs替换掉,多个rs同时存在,但是只有一个rs存在更新的话,会创建一个新的Pod,然后删除之前旧的pod,这个就是更新策略和更新逻辑作用,滚动升级,回滚应用,扩容和缩容,暂停和继续ddeploy。原创 2024-09-22 15:18:21 · 898 阅读 · 0 评论 -
k8s 探针
启动探测是最高的就绪和存活探测是一样的。原创 2024-09-22 15:17:22 · 411 阅读 · 0 评论 -
k8s 持久化存储
retain模式的话,删除pvc后,pv仍然存在,处于释放的状态,但是不能被其他的pvc绑定使用了,里面的数据还是存在的,下次使用的话,数据还是存在的,默认的回收策略。创建Pod时,使用pvc作为存储卷的话,会与pv绑定,当删除pod时,pvc和pv就会解绑,这个时候的pv里面的数据可以保留或者删除。上面静态模式的话,需要事先创建pv,然后一一对应,如果有成千上万的话,就需要很多的pv,维护的成本很高。创建pvc,指定存储类,就能从供应商下面的共享文件里面创建对应的pv,自动的创建出来。原创 2024-09-22 15:16:06 · 802 阅读 · 0 评论 -
k8s实验
将pod和pvc删除后,在创建pvc的话,会处于pending状态,所以的话想要使用这个pv的话,需要删除pv和pvc和pod才能再次使用。先将本地的存储做成一个pv,做一个pvc从pv里面进行获取。原创 2024-09-22 14:24:56 · 457 阅读 · 0 评论