python处理字符串
读取多行字符串使用字符串的splitlines方法
12345678data = '''1 2 34 5 67 8 9'''# data.splitlines() --> ['1 2 3', '4 5 6', '7 8 9']for line in data.splitlines(): i = [i for i in line.split(' ') if i] # 去除列表中的空值 print(i)
字符串格式化使用 % 这种格式化方式即将被废弃, 可以使用 {} 这种占位符, 更直观
使用位置替换12345678910>>> '{0}, {1}, {2}'.format('a', 'b', 'c')'a, b, c'>&g ...
在ubuntu22.04或LinuxMint21上安装深信服Easyconnect
正常在ubuntu22.04或者linuxmint21上安装Easyconnect, 可以安装, 但是无法启动.
是因为pango这个库版本较高导致. 需要手动将低版本的动态链接库放到easyconnect程序目录下.
只想安装的朋友, 直接使用一键安装脚本即可, 不用看完这篇文章.
一键安装脚本
LinuxMint21 测试通过
1234curl -OL -C - https://download.sangfor.com.cn/download/product/sslvpn/pkg/linux_767/EasyConnect_x64_7_6_7_3.debcurl -OL -C - https://file.babudiu.com/f/GzUA/EasyConnect_pango.tar.gzcurl -OL -C - https://file.babudiu.com/f/EGTp/install.shsudo bash ./install.sh
查看链接库12cd /usr/share/sangfor/EasyConnectldd EasyConnect | grep pan ...
Python列表操作
列表去除空值123i = [ "a", "", "", "b", "", "c", "" ]i = [ tmp for tmp in i if tmp ]print(i)
kubernetes节点维护流程
节点设置为SchedulingDisabled 其实就是打上污点 node.kubernetes.io/unschedulable:NoSchedule
命令
说明
kubectl cordon
将node设置为SchedulingDisabled, 不允许新的pod调度上来, 旧的pod不受影响
kubectl drain
先驱逐node上的pod, k8s会在其他节点重新创建, 然后将节点设置为 SchedulingDisabled
kubectl uncordon
恢复调度, 删除 SchedulingDisabled 污点
操作流程常规操作将节点上现有的pod驱逐, 不追求优雅
1kubectl drain <node> --delete-local-data=true --ignore-daemonsets=true --force
操作完毕后, 将节点恢复调度
1kubectl uncordon <node>
对集群无影响的操作先针对节点执行
1kubectl cordon <node>
然后等待节 ...
二进制部署Kuberntes 1.17.2
一些基本信息
说明
IP/段
SERVICE_CIDR
10.68.0.0/16
CLUSTER_CIDR / Pod CIDR
172.20.0.0/16
master1
10.0.0.51
master2
10.0.0.52
master3
10.0.0.53
vip
10.0.0.50
集群DNS的Cluster IP (kubelet需要配置)
10.68.0.2
高可用方案高可用主要有以下几种方案:
keepalived飘一个VIP,这种方案只能起到高可用的作用,并不能为apiserver做负载,且不够优雅
每个master节点部署一个负载均衡,后端配置的是所有的apiserver地址,然后使用keepalived飘一个VIP,这种方案和方案1效果类似,不过增加了负载均衡,可以分担单个apiserver的压力
外置负载均衡的方式,一般也是两台haproxy或nginx,然后使用keepalived飘一个VIP,如果是云服务器,直接购买内网负载均衡吧,免费的
apiserver地址配置成127.0. ...
openssh配置记录
优化登录速度关闭 UseDNS和GSSAPIAuthentication可以加速SSH登录, UseDNS和GSSAPIAuthentication是什么?
每次登录SSH时总是要停顿等待一下才能连接上,,这是因为OpenSSH服务器有一个DNS查找选项UseDNS默认情况下是打开的。
UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS,PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,打开这个选项不过是在白白浪费时间而已,不如将其关闭。
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题
编辑配置文件 vim /etc/ssh/ssh ...
Linux的ulimit限制
临时设置
命令
说明
ulimit -a
查看所有限制值
ulimit -n 65535
临时调整open files限制值
永久设置配置文件:/etc/security/limits.conf
Ubuntu和DebianCentOS和Fedora12345678* soft nofile 65535* hard nofile 65535* hard nproc 65535* soft nproc 65535root soft nofile 65535root hard nofile 65535root hard nproc 65535root soft nproc ...
WSLg配置图形支持和配置rime输入法
WSLg是微软的wsl2中自带的显示图形界面的功能,可以和windows完美融合在一块,不过由于wsl系统比较精简,会缺少一些图形包和输入法等。
设置中文显示安装依赖包12345678# 安装中文字体sudo apt install language-pack-zh-hans fonts-noto-cjk fonts-noto-cjk-extra# locales 配置 en_US.UTF-8 和 zh_CN.UTF-8 sudo sed -i 's/^# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gensudo sed -i 's/^# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gensudo locale-gen
设置显示语言为中文1234sudo tee /etc/default/locale <<-'EOF'LANG=zh_CN.UTF-8LANGUAGE="zh_CN:zh: ...
在Kubernetes集群中挂载configmap到pod中
挂载整个configmap123456789101112131415161718192021222324252627282930313233343536373839404142apiVersion: v1kind: ConfigMapmetadata: name: busybox-configmapdata: 1.txt: | 11111111111111111 2.txt: | 22222222222222222---apiVersion: apps/v1kind: Deploymentmetadata: name: busyboxspec: selector: matchLabels: app: busybox replicas: 1 template: metadata: labels: app: busybox spec: volumes: - name: busybox-volume configMap: name: busybox-configm ...
在Kubernetes集群中部署多个Nginx Ingress Controller
为什么要在集群中部署两个Nginx Ingress Controller? 因为公司的入口目前是在一个Ingress上, 公网域名也解析到了这个Ingress Controller上面,不过有些内网的服务,我们并不想让它暴露在外,那么可以再部署一个内网使用的Ingress Controller。
官方介绍地址:https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/
我准备将这两个ingressclass放在两个namespace里面。
先抽出clusterrole 和 clusterrolebinding因为可以使用一个clusterrole,没必要每个ingress controller都创建clusterrole
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 ...