随笔分类 -  Kubernetes

摘要:Kubernets是Google开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括: 基于容器的应用部署、维护和滚动升级; 负载均衡和服务发现; 跨机器和跨地区的集群调度; 自动伸缩; 无状态服务和有状态服务; 广泛的volume支持; 插件机制保证扩展性; 阅读全文
posted @ 2022-01-23 16:10 吕振江 阅读(193) 评论(0) 推荐(0) 编辑
摘要:一、Ratel是什么? Ratel是一个Kubernetes资源平台,基于管理Kubernetes的资源开发,可以管理Kubernetes的Deployment、DaemonSet、StatefulSet、Service、Ingress、Pods、Nodes、Role、ClusterRole、Rol 阅读全文
posted @ 2022-01-19 22:14 吕振江 阅读(248) 评论(0) 推荐(0) 编辑
摘要:Kubernetes的默认调度器以预选、优选、选定机制完成将每个新的Pod资源绑定至为其选出的目标节点上,不过,它只是Pod对象的默认调度器,默认情况下调度器考虑的是资源足够,并且负载尽量平均。 在使用中,用户还可以自定义调度器插件,并在定义Pod资源配置清单时通过spec.schedulerNam 阅读全文
posted @ 2021-12-31 17:58 吕振江 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、污点与容忍简介 污点taints是定义在节点之上的键值型属性数据,用于让节点拒绝将Pod调度运行于其上, 除非该Pod对象具有接纳节点污点的容忍度。而容忍度tolerations是定义在 Pod对象上的键值型属性数据,用于配置其可容忍的节点污点,而且调度器仅能将Pod对象调度至其能够容忍该节点污 阅读全文
posted @ 2021-12-31 15:02 吕振江 阅读(438) 评论(0) 推荐(0) 编辑
摘要:我们知道k8s访问内部域名可以使用 pod名.namespace.svc.cluster.local。 但有时需要往pod增加自定义的host解析。有一个参数可以支持,在deployment.spec.spec中添加: apiVersion: apps/v1 kind: Deployment met 阅读全文
posted @ 2021-12-29 19:10 吕振江 阅读(551) 评论(0) 推荐(0) 编辑
摘要:修改coredns configmap $ kubectl edit cm -n kube-system coredns apiVersion: v1 data: Corefile: | .:53 { errors health { lameduck 5s } hosts { 192.168.99. 阅读全文
posted @ 2021-12-29 19:02 吕振江 阅读(385) 评论(0) 推荐(0) 编辑
摘要:长时间运行的集群,常会面临各种资源耗尽的问题,另外磁盘不足时 Kubelet 还会主动清理镜像增加不确定因素,本文提供了一些命令片段用于清理工作。 一、Kubernetes基础对象清理 1.1 清理Evicted 状态的 Pod $ kubectl get pods --all-namespaces 阅读全文
posted @ 2021-12-28 11:31 吕振江 阅读(988) 评论(0) 推荐(0) 编辑
摘要:这篇博文主要介绍如何给容器配置存活、就绪和启动探测器。 kubelet 使用存活探测器来知道什么时候要重启容器。 例如,存活探测器可以捕捉到死锁(应用程序在运行,但是无法继续执行后面的步骤)。 这样的情况下重启容器有助于让应用程序在有问题的情况下更可用。 kubelet 使用就绪探测器可以知道容器什 阅读全文
posted @ 2021-12-22 14:56 吕振江 阅读(316) 评论(0) 推荐(0) 编辑
摘要:一、下载安装 $ wget https://github.com//dty1er/kubecolor/releases/download/v0.0.20/kubecolor_0.0.20_Linux_x86_64.tar.gz $ tar xf kubecolor_0.0.20_Linux_x86_ 阅读全文
posted @ 2021-12-14 11:59 吕振江 阅读(156) 评论(0) 推荐(0) 编辑
摘要:一、基本说明 本博文将演示CentOS 7二进制方式安装高可用k8s 1.17.x,相对于其他版本,二进制安装方式并无太大区别。 二、基本环境配置 2.1 主机信息 | OS | role && hostname | memory | CPU | Role | | | | | | : | | Cen 阅读全文
posted @ 2021-12-04 23:23 吕振江 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:一、Loki简介 Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受 Prometheus 启发,官方的介绍就是:Like Prometheus 阅读全文
posted @ 2021-12-03 17:43 吕振江 阅读(1595) 评论(0) 推荐(0) 编辑
摘要:循环遍历清理异常的pod #!/bin/bash namespace=`kubectl get ns -o jsonpath="{.items[*].metadata.name}"` pod_status=("Evicted" "ImagePullBackOff" "ContainerCreatin 阅读全文
posted @ 2021-10-20 13:12 吕振江 阅读(222) 评论(0) 推荐(0) 编辑
摘要:一般情况下我们部署的 Pod 是通过集群的自动调度策略来选择节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均,但是有的时候我们需要能够更加细粒度的去控制 Pod 的调度,比如我们内部的一些服务 gitlab 之类的也是跑在Kubernetes集群上的,我们就不希望对外的一些服务和内部的服务 阅读全文
posted @ 2021-09-14 16:07 吕振江 阅读(407) 评论(0) 推荐(0) 编辑
摘要:当用户同时在kubernetes中的yaml文件中写了command和args的时候,默认是会覆盖DockerFile中的命令行和参数,完整的情况分类如下: 如果command和args都没有写,那么用DockerFile默认的配置。 如果command写了,但args没有写,那么Docker默认的 阅读全文
posted @ 2021-08-15 14:34 吕振江 阅读(544) 评论(0) 推荐(0) 编辑
摘要:1.安装bash-completion工具 $ yum install bash-completion -y 否则报错: -bash: _get_comp_words_by_ref: command not found 2.执行bash_completion $ source /usr/share/ 阅读全文
posted @ 2021-08-14 12:47 吕振江 阅读(401) 评论(0) 推荐(0) 编辑
摘要:一、使用subpath解决挂载覆盖的问题 subPath官方文档 1.1 问题描述 当我们创建deploy等资源时,如果需要将某个配置文件挂载至pod中,但是pod的文件夹下又有很多其他的文件,如果直接填写挂载文件夹,则会导致目录被覆盖! nginx.conf配置文件在/etc/nginx目录下,如 阅读全文
posted @ 2021-07-22 17:27 吕振江 阅读(243) 评论(0) 推荐(0) 编辑
摘要:一、Ingress介绍 Ingress其实就是从 kuberenets 集群外部访问集群的一个入口,将外部的请求转发到集群内不同的 Service 上,其实就相当于 nginx、haproxy 等负载均衡代理服务器,有的同学可能觉得我们直接使用 nginx 就实现了,但是只使用 nginx 这种方式 阅读全文
posted @ 2021-07-19 21:52 吕振江 阅读(1317) 评论(0) 推荐(0) 编辑
摘要:一、环境准备 OS IP hostname Centos 7.6 192.168.99.151 k8s-master Centos 7.6 192.168.99.152 k8s-node01 Centos 7.6 192.168.99.153 k8s-node02 如果没有特殊说明,均在所有节点上执 阅读全文
posted @ 2021-06-29 23:31 吕振江 阅读(304) 评论(0) 推荐(0) 编辑

浏览器标题切换
浏览器标题切换end