使用kubeadm部署的集群证书过期后处理
之前使用 kubeadm 部署的集群,突然有一天执行 kubectl get pod 提示: 1Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2024-03-04T14:26:31+08:00 is after 2024-02-27T08:36:50Z 意思是证书有效期到 2024-02-27T08:36:50Z, 已经超过了证书有效期了。 查看证书有效期123456789101112131415161718192021[root@ALSHBSITL00061 kubernetes]# kubeadm certs check-expiration[check-expiration] Reading configuration from the cluster...[check-expiration] FYI: You can look at this config file with 'kubectl -n...
Windows修改用户名
之前 windows10 在安装过程中如果不使用微软账号登录的话,创建一个本地账户,那么创建好的用户名就是个人文件夹的名字。如果设置了中文,那么个人文件夹名字就是中文,后续会有软件兼容性问题,可以通过修改注册表来修改文件夹名字。 修改用户名首先要区分一下什么是用户名 上面这些都不是用户名,而是显示出来的用户名,也就是用户名全名。可以在 lusrmgr.msc 或 control userpasswords2 或 netplwiz 查看: 通过上图发现,我的用户名应该是 ooo 修改用户名可以直接在 lusrmgr.msc 进行修改,包括显示的全名,如果你只是想修改显示出来的名字,到这里就可以了。 修改个人文件夹路径danger 修改个人文件夹路径需要慎重!有部分已安装软件引用的还是旧的路径,这样会造成各种报错,可能需要卸载重新安装才能正常使用。 当前我的文件夹名字是 测试, 如图: 修改系统定义的路径打开注册表编辑器,定位到 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows...
通过docker容器查看run命令
公司有一台服务器上运行着一个服务,通过 docker start 启动,已经没有文档记录如何搭建的了。现在需要迁移,记录一下获取 docker run 命令的方法 通过模版处理 docker inspect 的数据来获取使用 runlike 来获取模版文件来自https://gist.githubusercontent.com/efrecon/8ce9c75d518b6eb863f667442d7bc679/raw/run.tpl 假设容器名是 mysql, 命令后面可以跟容器名或者容器...
Grafana 监控面板配置
安装 grafanaoss:开源版本 enterprise: 商业版本 https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&edition=oss 添加数据源以 grafana 10.3.3 为例, 在 connections –> Data sources 中新增: 面板配置可以手动配置,也可以在 grafana 官网下载别人配置好的模板:https://grafana.com/grafana/dashboards/, 复制 ID 或者下载 json 文件到本地 然后在面板上面,点击 + , 选择 import dashboard 使用 json 文件导入或者直接输入面板 id 进行导入。 导入后便能看到基础的图形。 做变量筛选比如我们的监控会区分环境, 比如开发环境 dev,生产环境 prod, 现在需要在 grafana 的面板上做一个筛选框,这里是原始的数据:比如我们需要取 env 的值 在面板的设置 – 变量中, 添加一个变量, 变量名可以自定义,...
Django RestFramework 使用 JWT 认证
JWT 的优点优点:无状态,服务端不保存 token缺点:生成的 token 在有效期内一直有效,无论用户注销、修改密码。(可以通过存 redis,通过代码进行删除 redis 里的 token 解决。) 开始使用配置setting.py 里面设置默认值 12345678910REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ),}JWT_AUTH = { 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=7), # Token 过期时间为一周 'JWT_AUTH_HEADER_PREFIX': 'JWT', # Token的头为:JWT ...
fail2ban配合cloudflare cdn使用
Cloudflare 是一家全球最著名的 CDN 加速服务商,提供了免费和付费的网站加速和保护服务。即使是免费版,也提供了比较全面和强大的功能,非常不错。 通过使用 Cloudflare CDN 服务提供的全球节点,一方面可以提高网站响应速度和性能,节省源站资源;另一方面也可以保护站点抵御攻击,保证网站长期稳定在线。 fail2ban 是一个开源工具, 它通过分析日志, 将不满足要求的访问 (比如 cc 攻击、对网站进行扫描等) 的 ip 获取到, 通过自带防火墙 (iptables 等) 进行封禁. 问题一: 如何让 fail2ban 获取真实 IP 想要通过 fail2ban 来封禁 ip, 那么先要获取到用户 (或黑客) 的 ip, 如果不进行处理, 那么大概率你获取到的是 cloudflare 请求你用的 ip, 封禁这个 ip 是没有意义的… 我的服务架构是 cloudflare –> nginx –> 后端服务 在 nginx 上面配置 123456789101112131415server { ... # 这里设置一下Real_IP变量,...
制作macOS启动盘和dmg镜像
下载 macOS 安装文件参考苹果官方文档: https://support.apple.com/zh-cn/102662, 使用 App Store 下载即可。下载完成后会显示在应用程序里面 制作dmg磁盘镜像直接写入到u盘或移动硬盘创建一个空白的 dmg 镜像 打开「磁盘工具」,在顶部菜单选择「文件」>「新建映像」>「空白映像」,然后如下图: 「大小」的设置,根据安装镜像大小, 再增加 2GB, 我这里粗略设置为 15 GB;「格式」设置为「Mac OS 扩展(日志式)」;「分区」为设置为「单个分区 - GUID 分区图」;「映像格式」为「读/写」; 挂载这个磁盘镜像, 直接双击即可自动挂载。 数据写入到 dmg 磁盘 参考: https://support.apple.com/zh-cn/101578 12# 根据你的系统版本和磁盘挂载位置自行修改sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume...
macOS常用操作记录
安装 HomeBrewhttps://brew.sh/zh-cn/ 终端配置zsh 配置123456789101112131415# 安装字体brew install font-lxgw-wenkai font-meslo-for-powerlevel10k# 安装Oh My Zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# 安装powerlevel10k主题git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k# 修改一下.zshrc文件里面的ZSH_THEME为powerlevel10k/powerlevel10k# sed -i...
开源组网工具-easytier
这个工具是利用 NAT 打洞实现,需要有一台服务器(可以自建也可以用官方提供的)做中介。经测试打洞成功率很高,速度也不错。打洞成功后,异地的机器就像在同一个内网一样方便,访问 smb、家里的 nas、远程桌面等等,并且支持自动对内网网段进行转发(zerotier 需要配置 iptables 转发)自建服务器后感觉比 zerotier 好用。zerotier 的文档可以看 群晖NAS部署zerotier内网穿透访问 附上官方的配置文件生成工具:https://easytier.cn/web/index.html#/config_generator 自建服务端这个步骤可以省略,不自建可以用社区提供的免费服务器。一个官方服务器地址:uri = "tcp://public.easytier.top:11010" 我安装的是 easytier 的 docker 版本。 config.toml123456789101112131415161718192021222324252627282930hostname = "guanyu"#...
shell脚本获取自身的信息
写 shell 脚本, 有时候需要获取一些信息, 比如这个脚本的名字,脚本所在的目录,脚本的绝对路径, 这个脚本的 pid, 参数等。 变量 说明 $0 脚本自身的路径(执行的时候调用路径) $1 第一个参数 $? 上一个脚本的返回值,0为正常 $* 所有的参数 $# 参数的个数 $$ 当前脚本的pid $_ 上一条命令的参数 获取脚本的文件名$0 是脚本的路径,这个路径有可能是相对路径,那么可以使用 dirname 和 basename 配合来获取脚本绝对路径 12345# 脚本所在的目录的绝对路径echo "$(cd $(dirname $0); pwd)"# 脚本的文件名echo $(basename $0) 获取脚本的绝对路径12345# 获取脚本的绝对路径DIR=$(cd $(dirname $0); pwd)FILE=$(basename $0)echo "${DIR}/${FILE}" 进入临时目录12# $_...