![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
云原生
文章平均质量分 91
DDD嘀嘀嘀
这个作者很懒,什么都没留下…
展开
-
【云原生】K8S对外服务之Ingress
service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,对于集群外的应用是不可见的。原创 2023-10-09 16:32:12 · 379 阅读 · 0 评论 -
【云原生】K8S控制详解
1)deployment 认为所有的pod都是一样的2)不用考虑顺序的要求3)不用考虑在哪个node节点上运行4)可以随意扩容和缩容有状态1)实例之间有差别,每个实例都有自己的独特性,元数据不同,例如etcd,zookeeper2)实例之间不对等的关系,以及依靠外部存储的应用。常规service和无头服务区别service:一组Pod访问策略,提供cluster-IP群集之间通讯,还提供负载均衡和服务发现。原创 2023-08-15 18:34:14 · 1370 阅读 · 0 评论 -
【云原生】K8S存储卷:PV、PVC详解
上面介绍的PV和PVC模式是需要运维人员先创建好PV,然后开发人员定义好PVC进行一对一的Bond,但是如果PVC请求成千上万,那么就需要创建成千上万的PV,对于运维人员来说维护成本很高,Kubernetes提供一种自动创建PV的机制,叫StorageClass,它的作用就是创建PV的模板。的使用逻辑:在 Pod 中定义一个存储卷(该存储卷类型为 PVC),定义的时候直接指定大小,PVC 必须与对应的 PV 建立关系,PVC 会根据配置的定义去 PV 申请,而 PV 是由存储空间创建出来的。原创 2023-08-14 22:36:20 · 1939 阅读 · 0 评论 -
【云原生】K8S集群
比如 node01 的 CPU 和 Memory 使用率 20:60,node02 的 CPU 和 Memory 使用率 50:50,虽然 node01 的总使用率比 node02 低,但 node02 的 CPU 和 Memory 使用率更接近,从而调度时会优选 node02。(12)kubelet 是在 Node 上面运行的进程,它也通过 List-Watch 的方式监听(Watch,通过https的6443端口)APIServer 发送的 Pod 更新的事件。除了知道 Pod 的副本数量,副本内容。原创 2023-08-10 19:02:13 · 1575 阅读 · 2 评论 -
【云原生】Pod的进阶
类似的,如果给容器设置了 CPU 的 limit 值但未设置 CPU 的 request 值,则 Kubernetes 自动为其设置 CPU 的 request 值 并使之与 CPU 的 limit 值匹配。当为 Pod 中的容器指定了 request 资源时,代表容器运行所需的最小资源量,调度器就使用该信息来决定将 Pod 调度到哪个节点上。可以以整数表示,或者以10为底数的指数的单位(E、P、T、G、M、K)来表示, 或者以2为底数的指数的单位(Ei、Pi、Ti、Gi、Mi、Ki)来表示。原创 2023-08-10 15:58:21 · 112 阅读 · 0 评论 -
【云原生】Pod详讲
运行于各自容器内的进程无法直接完成网络通信,这是由于容器间的隔离机制导致,k8s中的Pod资源抽象正是解决此类问题,Pod对象是一组容器的集合,这些容器共享NET、MNT、UTS及IPC命名空间,因此具有相同的域名、主机名和网络接口,并可通过IPC直接通信。Pod资源中针对各容器提供网络命名空间等共享机制的是底层基础容器pause,基础容器(也可称为父容器)pause就是为了管理Pod容器间的共享操作,这个父容器需要能够准确地知道如何去创建共享运行环境的容器,还能管理这些容器的生命周期。原创 2023-08-09 16:43:47 · 1553 阅读 · 0 评论 -
【云原生】Yaml文件详解
targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过 kube-proxy 反向代理负载均衡转发到后端 Pod 的 targetPort 上,最后进入容器。port 是 k8s 集群内部访问service的端口,即通过 clusterIP: port 可以从 Pod 所在的 Node 上访问到 service。●缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格。●符号字符后缩进一个空格,如冒号,逗号,短横杆(-)等。●使用缩进表示层级关系。原创 2023-08-08 17:29:04 · 801 阅读 · 0 评论 -
【云原生】kubectl命令的详解
externalName:将service名称映射到一个DNS域名上,相当于DNS服务的CNAME记录,用于让Pod去访问集群外部的资源,它本身没有绑定任何的资源。例如,DESIRED 为 10,那么可用的副本数至少要为 10 - 10 * 25% = 8,即 AVAILABLE 为 8。例如,DESIRED 为 10,那么副本总数的最大值为 10 + 10 * 25% = 13,即 CURRENT 为 13。旧副本的销毁使副本总数低于 13,这样就允许创建更多的新副本。原创 2023-08-07 20:23:44 · 4765 阅读 · 0 评论 -
【云原生】使用kubeadm搭建K8S
【代码】【云原生】使用kubeadm搭建K8S。原创 2023-08-05 22:21:29 · 1185 阅读 · 0 评论 -
【云原生】K8S二进制搭建三:高可用配置
【代码】【云原生】K8S二进制搭建三:高可用配置。原创 2023-08-05 13:40:36 · 1482 阅读 · 0 评论 -
【云原生】K8S二进制搭建二:部署CNI网络组件
Pod 地址与 docker0 在同一网段,docker0 网段与宿主机网卡是两个不同的网段,且不同 Node 之间的通信只能通过宿主机的物理网卡进行。目前比较常用的时flannel和calico,flannel的功能比较简单,不具备复杂的网络策略配置能力,calico是比较出色的网络管理插件,但具备复杂网络配置能力的同时,往往意味着本身的配置比较复杂,所以相对而言,比较小而简单的集群使用flannel,考虑到日后扩容,未来网络可能需要加入更多设备,配置更多网络策略,则使用calico更好。原创 2023-08-04 09:11:43 · 1831 阅读 · 0 评论 -
【云原生】K8S二进制搭建一
cfssljson:将 cfssl 生成的证书(json格式)变为文件承载式证书。cfssl-certinfo -cert #查看证书的信息。简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单。可靠:采用raft算法,实现分布式系统数据的可用性和一致性。cfssl-certinfo:验证证书的信息。快速:单实例支持每秒2k+读操作。cfssl:证书签发的工具命令。安全:支持SSL证书验证。原创 2023-08-02 23:52:50 · 1729 阅读 · 1 评论 -
【云原生】K8S超详细概述
k8S 的全称为 Kubernetes (K12345678S),PS:“嘛,写全称也太累了吧,不如整个缩写”。用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。原创 2023-08-01 17:40:47 · 9507 阅读 · 0 评论