- 博客(337)
- 资源 (8)
- 收藏
- 关注
原创 66 k8s ansible一键初始化脚本
paramiko:用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。pycrypto:是一个免费的加密算法库,支持常见的DES、AES加密以及MD5、SHA各种HASH运算。six:提供了一些简单的工具用来封装 Python 2 和 Python 3 之间的差异性。httplib2:一个使用python写的支持的非常全面的http特性的库。PyYAML:一个Python的YAML解析器。Jinja2:基于python的模板引擎。
2023-05-20 12:00:34
638
原创 23 k8s调度和加密算法
将这些信息放在 secret 中比放在 Pod 的定义或者 容器镜像 中来说更加安全和灵活。前面的调度方式都是站在Pod的角度上,通过在Pod上添加属性,来确定Pod是否要调度到指定的Node上,其实我们也可以站在Node的角度上,通过在Node上添加。- NoExecute:kubernetes将不会把Pod调度到具有该污点的Node上,同时也会将Node上已存在的Pod驱离。# 4 、如果一个pod所在的Node在Pod运行期间其标签发生了改变,不再符合该Pod的节点亲和性需求,则系统将忽略此变化。
2023-03-22 22:29:30
991
原创 24 k8s安全认证
1> 客户端向服务器端发起请求,服务端下发自己的证书给客户端, 客户端接收到证书后,通过私钥解密证书,在证书中获得服务端的公钥, 客户端利用服务器端的公钥认证证书中的信息,如果一致,则认可这个服务器 2> 客户端发送自己的证书给服务器端,服务端接收到证书后,通过私钥解密证书, 在证书中获得客户端的公钥,并用该公钥认证证书信息,确认客户端是否合法。这种认证方式是用一个很长的难以被模仿的字符串--Token来表明客户身份的一种方式。所谓的安全性其实就是保证对Kubernetes的各种。
2023-03-22 22:28:13
440
原创 22 k8s常用命令
service网络 pod网络 节点网络 == 》 svc、pod网络都是虚拟机网络,真实网络是节点网络。vloume(存储卷) CSI(容器存储接口,可以扩展各种各样的第三方存储卷)元数据级别: HPA podtemplate(pod模板)、处理方式:探测失败,下线负载均衡(endprints。# 1、存活性探测 (LivenessProbe)# 2、就绪性探测(readinessProbe)# 1、查看default名称空间的Pod。、处理的方式:如果判断失败,则重启POD。
2023-03-22 22:25:26
720
原创 21 k8s自动清理节点
将节点添加到集群时后,会创建容器、虚拟网络接口等资源和证书、配置文件。从集群中正常删除节点时(如果处于 Active 状态),将自动清除这些资源,并且只需重新启动节点即可。当节点无法访问且无法使用自动清理,或者异常导致节点脱离集群后,如果需要再次将节点加入集群,那么需要手动进行节点初始化操作。以下操作将删除节点中的数据,在执行命令之前,请确保已进行数据备份。# 注意:如果节点 Iptables 有特殊配置,以下命令请谨慎操作。# 卸载 mount 目录。# 禁止服务开机启动。
2023-03-22 22:20:09
682
原创 20 k8sMetric 简介
1️⃣metrics-server 会请求每台节点的 kubelet 接口来获取监控数据,接口通过 HTTPS 暴露,但 Kubernetes 节点的 kubelet 使用的是自签证书,若 metrics-server 直接请求 kubelet 接口,将产生证书校验失败的错误,因此需要在 components.yaml 文件中加上。容器服务某些 k8s 发行版自带 Resource Metrics API 的实现,指向 hpa-metrics-server,且目前提供 Pod 的监控指标。
2023-03-22 22:11:02
852
原创 65 K8S的namespace一直处于terminating状态怎么办
1、方法一2、方法二3、方法三4、方法四(1)尝试了强制删除 kubectl delete namespace [namespace] --force --grace-period=0 和通过接口删除不怎么好使,下来有时间再做详细研究。(2)直接问我们公司大佬,平常在工作中帮助我不少,感觉欠人家许多人情,有机会一定回报。(这个是我的心理话,大家勿喷!)
2023-03-20 23:19:49
804
原创 60 k8s集群中container监控指标有label但是没有value
由于docker-root默认值为/var/lib/docker,之所以在当前环境不行是因为公司的docker目录不在/var/lib/docker下,而是别的目录,修改为正确的目录后,重启kubelet问题解决。在kubelet.service中的ExecStart后面新增–docker-root=/var/lib/it/docker。k8s组件通过systemctl管理的,可以在/etc/systemd/system 下找到kubelet的配置。
2023-02-01 09:01:43
375
原创 搭建Go环境 03
2、SDK是给开发人员使用的,其中包含了对应开发语言的工具包。我的电脑/属性/高级环境/Path。1、SDK(软件开发工具包)
2023-01-11 22:48:07
459
原创 59 cc
在对公司容器云的日志方案进行设计的时候,发现主流的 ELK(Elasticsearch,Logstash,Kibana)或者 EFK(Elasticsearch,Filebeat or Fluentd,Kibana)比较重,再加上现阶段对于 ES 复杂的搜索功能很多都用不上,最终选择了 Grafana 开源的 Loki 日志系统。下面我们来介绍下 Loki 的一些基本概念和架构,当然 EFK 作为业界成熟的日志聚合解决方案也是大家应该需要熟悉和掌握的。
2023-01-09 19:44:17
485
原创 linux12企业实战 -- 54 centos8 安装ansible问题
【代码】linux12企业实战 -- 54 centos8 安装ansible问题。
2022-11-12 13:12:40
979
2
原创 分布式ceph存储部署
3. ceph安装配置介绍与优化见:《附件2: ceph安装配置介绍与主机优化》| 2. 硬件配置附件:《附件1: DELL服务器配置》| 1. 如果用的是真机部署线上环境。统一时间非常重要,必须要做。
2022-10-25 15:45:49
180
原创 linux12企业实战 -- 53 umount时目标忙的解决办法
2、可以通哥fuser查看设备被那个进程占用,杀死进程。1、可能在当前路径都挂载目录下。
2022-10-24 23:28:49
1336
原创 linux12运维企业实战笔录 -- 04 telnet批量多端口
在一些情况下,我们无法安装nc,ansible等工具,所以一些批量操作,我们只能使用shell实现。下面分享一个近期工作中使用到的批量Telnet端口的脚本,希望对大家能够帮助:
2022-07-11 10:48:14
1077
原创 python 开发 -- 18文件处理
2.操作文件主要是读写 (.read(), .write()…).read( ) : 向操作系统发送系统调用,让操作系统把文件从硬盘读入内存3.关闭文件 / 回收系统资源通知操作系统回收刚刚读入的文件所占用的内存空间文件打开如果没有关闭, 操作系统会过一段时间才清除这个文件对于我们来讲这么点时间不打紧, 但对于计算机来说就是占用它的资源 : 内存得不到释放并且操作系统打开文件的数量是有限的, 打开的文件数量过多就会影响电脑性能ps : 当文件关闭之后, 那么对应的文件操作的方法都
2022-07-09 23:45:54
191
原创 python 开发 -- 17字符编码
2.为何要研究字符编码为了解决乱码问题因为存取都用一张字符编码表3.储备知识计算机三大核心硬件应用程序任何操作硬件的请求都需要向操作系统发起系统调用, 然后又操作系统去操作硬件ps : 计算机三大核心硬件Python解释器执行文件的流程一.字符编码的发展历程1.一家独大 : ACSLLACSLL : 只能识别英文字符使用 " 8 " 个 “bit” 对应一个英文字符2.天下大乱 : ACSLL, GBK, Shift-jis, Euc-KR …GBK : 能
2022-07-09 23:40:59
391
原创 python 开发 -- 16集合类型内置方法
二.定义方式在 “{ }” 内用逗号分隔开一个个元素\1. 集合的元素必须是不可变类型\2. 集合内元素无序\3. 集合内元素唯一集合的"工厂" : ps : 定义空集合 与 定义空字典三.类型转换只要存在可变类型就无法转换, 会报错我们说字典的 key 是不可变类型, value 是任意类型, 所以转换时转的就是字典的 key, 而不是 value四.常用操作🐹关系运算图解2.并集 : , 3.差集 : , 4.对称差集 : , 5.父集 :, .
2022-06-24 23:23:28
120
原创 python 开发 -- 15字典类型内置方法
三.数据类型转换四.常用操作 + 内置方法🐼优先掌握的操作(*********)1.按照 key 取值, 可存可取2、长度 : .len( )统计的是 key 的个数如果存在 key 相同的键值对, 那么以后入的为主3.成员运算 in 和 not in判断是不是字典的 key4.删除 del, .pop( ), .popitemdel : 直接删除"谁", 通用万能删除, 它不支持赋值语法, 赋值会报错.pop() : 根据 key 进行删除, 返回的值是 key .
2022-06-24 23:21:35
149
原创 python 开发 -- 14元组类型内置方法
元组不可变解析三.常用操作 + 内置方法🐼优先掌握的操作(*********)1.按照索引取值 (正向取 + 反向取) : 只能取2.切片 (顾头不顾尾 + 步长)3、长度 : .len()4、成员运算 int和 not in判断的是否只是在第一层元素中5、循环🐨需要掌握的操作(****)1.统计个数 : .count()查看的是一个元素在元组中的个数, 查看的只是第一层2.查找索引 : .index()找到指定字符在列表中的索引, 可以指定范围查找..
2022-06-24 23:21:04
274
原创 python 开发 -- 12字符串类型内置方法
文章目录一.定义方式二.数据类型转换三.常用操作 + 内置方法🐼优先掌握的操作(*********)1.按照索引取值(正向取+反向取)2、切片:索引的拓展应用3、长度 len:统计的是字符个数4、成员运算 in 和 not in5、移除空白 strip6、切分 split7、循环🐨需要掌握的操作(****)1.strip,lstrip,rstrip : 不同方向移除指定符号2、lower, upper : 小写,大写3、startswith,endswith : 判断开头结尾4、format 的三种玩法 :
2022-04-30 23:06:45
175
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人