Sunday Blog

人生是一场刻意练习

Python中的格式化

Python Format

%运算符 使用字符串模运算符(%)格式化输出: % 运算符也可用于字符串格式化。它将左参数解释为类似于 C 语言字符串中的 printf() 样式格式,以应用于右参数。

冒泡排序算法

Bubble Sort Algorithm

排序算法的稳定性 稳定的排序算法会让原本有相等键值的记录维持相对次序 不稳定的排序算法可能会改变相等键值的记录的相对次序 冒泡排序 冒泡排序的思想就

Python中的sort与sorted区别

一、 sort sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数 原型:sort(key,reverse=False) key:用来

Python Str 字符串操作

Python String Operator

字符串str 不可变对象,Python3,字符串为Unicode类型 >>> s5=r"hello \n world" #非转义的原始字符串,即不是换行了。 hello \n world >>> name='sunday'; age=17 s9=f'{name},{age}' #3.6支持f前

Python 判断素数

Prime Number

求n以内的素数 常规取模优化 只测试 >2 的奇数,因为大于2的质数只可能是奇数 奇数只和一个奇数取模,因为奇数不能被合数整除 找到开方点 [3,int(x**0.5)+1] import datetime start = datetime.datetime.now() n=100000 count=1

Firewalld ipset 使用

Firewall Ipset

一.firewalld中ipset的用途: 1.用途: ipset是ip地址的集合,firewalld使用ipset可以在一条规则中处理多个ip

Kubernetes 1.24 二进制高可用集群安装

Kubernetes Binary Build High Availability

生产环境中,建议使用版本大于5的Kubernetes版本,如1.24.6 系统:CentOS 7.5 K8S:1.24.6 containerd: v1.6.4 calico: 1.24 集群环境 hostname IP/VIP software k8s-master01 192.168.1.171 e

Kubeadm搭建高可用Kubernetes v1.23.5集群

Kubeadm Builds High Availability Kubernetes

基础环境配置 IP地址 主机名 服务 配置 192.168.1.171 k8s-01 k8s-master、containerd、keepalived、nginx 2c4g 192.168.1.172 k8s-02 k8s-master

Kubernetes使用 OpenEBS 实现 Local PV 动态持久化存储

Openebs

仅限开发测试使用 OpenEBS安装条件 # 安装 iscsi yum install iscsi-initiator-utils -y # 查看 InitiatorName 是否正常配置 cat /etc/iscsi/initiatorname.iscsi # 启动查看状态 systemctl enable --now iscsid systemctl start iscsid.service systemctl status iscsid.service openebs quickstart 安装方式 方式一 helm helm repo add openebs

Nodelocaldns 导致 Coredns hosts 失效

Coredns Host Invalid

问题:coredns configmap 添加hosts不起作用 coredns: 10.233.0.3 nodelocaldns: 169.254.25.10 kubectl edit configmap coredns -n kube-system apiVersion: v1 data: Corefile: | .:53 { errors health { lameduck 5s } log ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } ## 添加部分 hosts { 192.168.10.220 rancher.sundayhk.com 192.168.10.220 ha.sundayhk.com fallthrough

Ubuntu 16.04 Letsencrypt R3证书过期

Letsencrypt Certificate Has Expired

root@sunday:~# curl https://letsencrypt.org/ curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification

Acme Sh Docker

Acme Sh Docker

docker run docker run --rm -itd \ -v "$(pwd)/out":/acme.sh \ -e CF_Email="xxxxxxxxxxxxxxxxxx@gmail.com" \ -e CF_Key="xxxxxxxxxxxxxxxxxx" \ --net=host \ --name=acme.sh \ neilpang/acme.sh daemon docker-compose docker-compose.yml version: '3' services: acme-sh: image: neilpang/acme.sh container_name: acme.sh restart: always command: daemon environment: - CF_Key="xxxxxxxxxxxxxxxxxx" - CF_Email=xxxxxxxxxxxxxxxxxx@gmail.com" volumes: - /data/acme:/acme.sh network_mode: host issue acme.sh --register-account -m my@example.com docker exec acme.sh --issue --dns dns_cf -d sundayhk.com -d *.sundayhk.com --debug #docker exec acme.sh --install-cert --reloadcmd "systemctl reload nginx" -d $domain --key-file /data/ssl/$domain.

Nginx 反代Rancher

Rancher Proxy

报错 E1115 18:35:27.342087 34 upgradeaware.go:338] Proxy upgrade error: invalid upgrade response: status code 200 正确配置 server { listen 443; server_name rancher.sundayhk.com; ssl on; ssl_certificate /data/ssl/acme/sundayhk.com.pem; ssl_certificate_key /data/ssl/acme/sundayhk.com.key; include other/ssl.conf; location / { proxy_pass https://192.168.10.220:443; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } } vim /etc/nginx/nginx.conf http { ... map $http_upgrade $connection_upgrade { default

安装Kuboard管理Kubernetes集群

Kuboard

https://kuboard.cn/install/v3-upgrade.html#%E5%A6%82%E6%9E%9C%E4%BB%A5-docker-run-%E8%BF%90%E8%A1%8C-kuboard 安装方式 Kuboard 作为多个集群的管理界面应该独立于任何集群之外 建议docker运行 Kuboard, 不建议安装在有业务的Kubernetes集群中 停止已有 kuboard 容器 docker

Kubespray 离线安装配置

Kubespray Offline

https://github.com/kubernetes-sigs/kubespray/blob/master/docs/offline-environment.md 背景 在国内使用 kubespray 安装 Kubernetes 集群,下载依赖的文件和镜像时,往往会遇到下载失败,这时我们可以利用 kubespray 离线安装配置的能力来部署集群。 准备工作 要想离线安