在Kubernetes集群中挂载configmap到pod中
挂载整个configmap123456789apiVersion: v1kind: ConfigMapmetadata: name: busybox-configmapdata: 1.txt: | 11111111111111111 2.txt: | 22222222222222222
deployment的yaml文件如下:
123456789101112131415161718192021222324252627282930apiVersion: apps/v1kind: Deploymentmetadata: name: busyboxspec: selector: matchLabels: app: busybox replicas: 1 template: metadata: labels: app: busybox spec: volumes: - name: busybox-volume configMap: name: busybox-co ...
在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 ...
Linux下tmp目录的管理
生成临时文件可以使用mktemp命令生成tmp文件,mktemp -d生成临时目录,避免临时目录重复使用的问题
123456#!/bin/bashtmp_file="$(mktemp)"tmp_folder="$(mktemp -d)"echo $tmp_fileecho $tmp_folder
tmp目录定时清理这个是由systemd的几个模块实现的, 在centos7中:
123systemd-tmpfiles-setup.service :Create Volatile Files and Directoriessystemd-tmpfiles-setup-dev.service:Create static device nodes in /devsystemd-tmpfiles-clean.service :Cleanup of Temporary Directories
配置文件也有3个地方:
123/etc/tmpfiles.d/*.conf/run/tmpfiles.d/*.conf/usr/lib/tmpfiles.d/*. ...
离线安装Docker
离线二进制包下载地址 https://download.docker.com/linux/static/stable/x86_64/
1234wget https://file.babudiu.com/f/B1I8/docker-24.0.1.tgztar xf docker-24.0.1.tgzmv docker/* /usr/bin/
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778cat > /usr/lib/systemd/system/containerd.service << EOF[Unit]Description=containerd container runtimeDocumentation=https://containerd.ioAfter=network.target local-fs.targe ...
harbor接入外部trivy镜像漏洞扫描
harbor接入trivy漏洞扫描, 用到的开源工具harbor-scanner-trivy
安装需要依赖Redis, 先安装Redis
安装trivytrivy是扫描核心组件, 需要安装,参考trivy官网安装文档
https://aquasecurity.github.io/trivy/v0.41/getting-started/installation/
12345678910RELEASE_VERSION=$(grep -Po '(?<=VERSION_ID=")[0-9]' /etc/os-release)cat << EOF | sudo tee -a /etc/yum.repos.d/trivy.repo[trivy]name=Trivy repositorybaseurl=https://aquasecurity.github.io/trivy-repo/rpm/releases/$RELEASE_VERSION/\$basearch/gpgcheck=1enabled=1gpgkey=https://aquasecuri ...
python常用配置
pip升级pip版本1pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple pip -U
镜像源中科大源配置说明: https://mirrors.ustc.edu.cn/help/pypi.html
临时使用1pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple package
设为默认通过pip命令来配置通过配置文件来配置升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
1pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simplevim ~/.config/pip/pip.conf
12[global]index-url = https://mirrors.ustc.edu.cn/pypi/web/simple
使用Nginx反向代理域名
需求如下:研发代码里写死了地址 https://api.chehezhi.cn 现在在不想发布新代码的情况下修改地址为 https://api-st.chehezhi.cn
手动增加反向代理的header先 ping api-st.chehezhi.cn 获取到服务器的ip
所以临时在pod里面新增了nginx 服务,配置如下,由于是代理https服务,还需要配置ssl证书,刚好有证书。。。
1234567891011121314151617181920212223server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; ssl_certificate /etc/nginx/ssl.crt; ssl_certificate_key /etc/nginx/ssl.key; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_pre ...
使用Python解析xml
xml是一种固有的分层数据格式,最自然的表示方式是解析成树状。 ElementTree将整个 xml 文档解析成树状结构, Element就表示这个树状结构中的单节点。整个xml文档与Python交互(读取和写入文件)是在ElementTree(相当于整棵树)上完成。单个 xml 元素及其子元素的交互是在Element(相当于leaf)上完成。
XML语法文档声明从XML 1.1开始,在一个完整的XML文档中,必须包含一个XML文档的声明,并且该声明必须位于文档的第一行。XML文档声明的语法格式如下所示:
1<?xml version="version" encoding="value" standalone="value" ?>
version:用于指定遵循XML规范的版本号。在XML声明中必须包含version属性,且该属性必须放在XML声明中其他属性之前。
encoding:用来指定XML文档所使用的编码集。
standalone:用来指定该XML文档是否和一个外部文档嵌套使用,取值为yes或no。如果设 ...
Debian常用配置
修改国内源12345# 修改默认镜像源sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list# 修改security镜像源sudo sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list
改造windows terminal支持lrzsz
在windows下使用xshell,如果执行 rz 或者 sz 是可以快捷上传/下载文件到本地的,这在使用堡垒机登录服务器会很有用,或者多层ssh嵌套的时候,某种极端的场景下,这可能是唯一的解决方案了。在windows下使用xshell连接服务器,这时候输入rz,会弹出一个文件选择框:
但是在windows terminal下,是这样的:
无意中发现了一个开源工具,可以解决这个问题,开源地址是:https://github.com/qingyunha/zssh
安装方法:
123git clone https://github.com/qingyunha/zssh.gitcd zsshgo get zssh
默认可执行文件是在GOBIN中, 需要放到系统的PATH目录中。
使用方法: 使用 zssh 替代 ssh 命令即可。
效果如下:
另外还有trzsz 这样的类似开源工具,需要服务器上安装trzsz软件