K8s
文章平均质量分 85
k8s
yucfkyu
这个作者很懒,什么都没留下…
展开
-
k8s---HPA 命名空间资源限制
HPA(Horizontal Pod Autoscaling)Pod 水平自动伸缩,Kubernetes 有一个 HPA 的资源,HPA 可以根据 CPU 利用率自动伸缩一个 Replication Controller、 Deployment 或者Replica Set 中的 Pod 数量。(1)HPA 基于 Master 上的 kube-controller-manager 服务启动参数 horizontal-pod-autoscaler-sync-period 定义的时长(默认为30秒),周期性的检测原创 2024-01-23 15:01:00 · 1176 阅读 · 0 评论 -
k8s图形化管理工具之rancher
在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群,大大提高工作效率。在二进制搭建k8集群时,我们就知道了k8s本身就具有一款原生的k8s集群管理工具,但是原生图形化管理工具dashborad只拥有管理一个集群的能力。而对于现代化生产力公司来讲,一个集群能够做的事情还是太少,所以我们需要引入更强大的集群管理工具。原创 2024-01-24 15:00:22 · 1370 阅读 · 0 评论 -
k8s的安全机制
准入控制是apiserver的一个准入控制器的插件列表,不同的插件可以实现不同的准入控制机制。一般情况下建议使用官方默认的准入控制器limitranger:命名空间的配额管理resourceQuota:命名空间的配额限制。原创 2024-01-25 14:29:56 · 1291 阅读 · 0 评论 -
k8s---包管理器helm
Helm本质就是让K8s的应用管理(Deployment、Service等)可配置,可以通过类似于传递环境变量的方式能动态生成。通过动态生成K8s资源清单文件(deployment.yaml、service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。原创 2024-01-22 13:59:48 · 1043 阅读 · 0 评论 -
k8s的集群调度---下
预算策略:过滤出合适的节点优选策略:选择部署的节点nodeName:硬匹配,不走调度策略。node01.nodeSelector:根据节点的标签选择,会走调度算法。只要是走调度算法,在不满足预算策略的情况下,所有pod都是pending。node节点的亲和性:硬策略和软策略硬策略:必须一定。匹配原则:根据节点的标签你的要求。原创 2024-01-09 16:30:48 · 1201 阅读 · 1 评论 -
k8s---ingress实现https代理访问
ingress的类型:这两个都是开源的控制器nginx-ingress-controller控制器三种模式:deployment+loadbalancer:公有云提供负载均衡的公网地址daemonset+hostnetwork+nodeselector:和节点服务共享网络,一个节点一个controller pod。使用宿主机的端口性能最好,适合大并发deployment+nodeport:最常见也是最常用,也是最简单的方法。但是性能不太好,多了一层nat地址转发。适用于高并发、大集群使用。原创 2024-01-18 17:21:51 · 1928 阅读 · 0 评论 -
K8s陈述式资源管理
命令行:kubectl命令行工具对资源的增删改查比较方便,声明式:看到声明式都是k8s当中的yml文件来实现资源管理。GUI:图形化工具kubectl命令的详解,查看,部署,查看pod的情况(详细信息,日志,发布和回滚)原创 2023-12-29 13:40:35 · 1691 阅读 · 0 评论 -
k8s--动态pvc和pv
存储卷:emptyDir 容器内部,随着pod销毁,emptyDir也会消失 不能做数据持久化hostPath:持久化存储数据 可以和节点上目录做挂载。pod被销毁了数据还在NFS:一台机器,提供pod内容器所有的挂载点pv和pvc:pvc就是pod发起的挂载请求pv:持久化存储目录静态pv和pvc: 运维负责:创建好持久化存储卷,声明好读写和挂载类型 以及可以提供的存储空间pvc开发做,要和开发沟通好,你期望的读写和挂载类型,以及存储空间。原创 2024-01-11 15:49:52 · 1461 阅读 · 0 评论 -
k8s---容器探针
因为-c是查看字符串,但/usr/bin/test和/etc/passwd是文件,所以readinessProbe探针探测不到改成-e即可就绪探针,pod的状态是running ,ready是notready。原创 2024-01-05 14:14:44 · 855 阅读 · 0 评论 -
k8s--集群调度(kube-scheduler)
以上过程是list-watch会在每一步把监听的消息(APIserver:6443)-------controller manager,scheduler,kubelet,etcd都会监听apiserver:6443。指定节点标签部署pod,是要经过scheduler的算法,如果节点不满足条件,pod会进入penging状态,直到节点条件满足为止。通过预算选择出可以部署的节点,再通过优先选择出来最好的节点,以上都是自带的算法。最低请求优先级,通过算法计算节点上的cpu和内存使用率,确定节点的权重。原创 2024-01-08 17:04:06 · 1577 阅读 · 0 评论 -
k8s---配置资源管理
secert:主要作用是保存加密文件,主要的使用方式就是挂载方式comfigmap:把配置信息传给容器。主要方式也是挂载方式。configmap的热更新:热更新可以直接反应到容器的内部,也不会触发pod的更新机制。如果不是需要重启的配置,都可以直接生效version/config来触发热更新需要重启的,可以重启pod在工作中configMap就是将配置信息传递给容器。通过键值对形式保存的非加密信息。更新:就是把配置信息重新传到容器内,重启也是一样。原创 2024-01-16 16:03:08 · 1309 阅读 · 0 评论 -
kubeadm搭建k8s集群
部署难,管理方便,集群伸展性能好更稳定,集群规模到达一定的规模(几百个节点、上万个Pod),二进制稳定性是要高于kubeadm部署遇到故障,宿主机起来了,进程也会起来部署简单,管理难是以一种容器管理容器的方式允许的组件及服务,故障恢复时间比二进制慢遇到故障,启动宿主机,再启动进程,最后去启动容器,集群才能恢复,速度比二进制慢 配置harbor原创 2023-12-28 14:20:18 · 778 阅读 · 0 评论 -
k8s---pod控制器
Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元。所以需要有工具去操作和管理它们的生命周期,这里就需要用到控制器了。Pod 控制器由 master 的 kube-controller-manager 组件提供,常见的此类控制器有 Replication Controller、ReplicaSet、Deployment、DaemonSet、StatefulSet、Job 和 CronJob 等,它们分别以不同的方式管理 Pod 资源对象。 pod控制器:工作负载,workload。用来原创 2024-01-15 15:25:27 · 1060 阅读 · 0 评论 -
k8s的二进制部署: 源码包部署-----node节点部署
负载均衡。原创 2023-12-26 16:17:43 · 587 阅读 · 0 评论 -
k8s---对外服务 ingress
ingress的核心组件traefik都是开源的ingress-controller。原创 2024-01-17 17:04:23 · 1400 阅读 · 0 评论 -
k8s---声明式资源管理(yml文件)
同一个yaml文件内command和args只能存在一个表示容器启动时的命令除非需要传参的时候command和args可以同时出现无论是args或者是command都会覆盖CMD和entrypoint标准输出建议写在一行提高可读性。原创 2024-01-02 15:50:41 · 1527 阅读 · 0 评论 -
k8s---pod的生命周期
每个pod都有一个基础容器--pause。pause对应的镜像属于k8s集群的一部分。创建集群就会有pause基础镜像。pod里面包含了一个或者多个相关的容器(应用)pod外再设置一个初始镜像:1.pod内部都有一组容器,挂了一个,就算pod失效了吗?引入pause机制,代表整个容器组的状态。可以解决pod内部容器整体的状态判断。2.pod内的容器共享IP 共享volume挂载卷。解决了容器内网络通信的问题,解决了容器内部文件共享的问题。原创 2024-01-03 14:31:24 · 1240 阅读 · 0 评论 -
k8s的三种发布方式
蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚。灰度发布:根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版本。滚动发布:按批次停止老版本实例,启动新版本实例。原创 2024-01-02 14:15:57 · 890 阅读 · 0 评论 -
初识Kubernetes的理论基础
k8s的简介 Kubernetes,词根源于希腊语的 舵手、飞行员。在国内又称k8s(因为k和s之间有8个字母,所以得名。“国内程序员的幽默”)。用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经GO语言延用Borg的思路重写并捐献给CNCF基金会原创 2023-12-25 15:59:59 · 938 阅读 · 0 评论 -
k8s二进制部署--部署高可用
notready是因为没有网络,因此无法创建pod。原创 2023-12-27 17:13:49 · 1302 阅读 · 1 评论 -
k8s---pod基础下
都是本地部署:never如果涉及到外部部署:默认策略(事前要把docker镜像导入目标主机,否则会去官网去拉)Always:一般不用。原创 2024-01-04 14:59:32 · 1265 阅读 · 1 评论 -
k8s的存储卷---数据卷
容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的Volume抽象就很好的解决了这些问题。Pod中的容器通过Pause容器共享Volume。原创 2024-01-10 15:23:06 · 1405 阅读 · 1 评论