Q's blog

一些个人文档笔记

1
2
3
4
5
创建一个 admin 用户(至少一个)
# influx
Connected to http://localhost:8086 version 1.7.11
InfluxDB shell version: 1.3.2
> CREATE USER admin with PASSWORD 'admin123' WITH ALL PRIVILEGES

趋势

通过7天的数据预测30天后磁盘剩余

1
((predict_linear(node_filesystem_free_bytes{fstype=~"ext4|xfs|ext3"}[7d], 24 * 3600 * 30 )) / (1024*1024*1024)  )

1 列出待抓包的pod 及分布在哪些节点上

kubectl get pods -n ns1 -o wide | egrep myapp

阅读全文 »

方案1

openresty + lua脚本

优点:

  • openresty直接集成lua库
  • 如果nginx已支持lua,只需添加配置文件即可
阅读全文 »

文档参考:

https://alibaba.github.io/kt-connect/#/zh-cn/cli/connect

安装

1
2
3
4
5
6
7
8
9
10
# 安装pip
wget https://bootstrap.pypa.io/3.5/get-pip.py
python3 get-pip.py
# 安装sshuttle
pip install sshuttle
# 下载并安装KT
curl -OL https://rdc-incubators.oss-cn-beijing.aliyuncs.com/stable/ktctl_linux_amd64.tar.gz
tar -xzvf ktctl_linux_amd64.tar.gz
mv ktctl_linux_amd64 /usr/local/bin/ktctl
ktctl -h

使用

win

1
ktctl connect --mode tun2socks --dnsMode localDNS --shareShadow

用于使用本地服务替换集群中的Service实例。基本用法如下:

1
2
3
ktctl exchange <目标服务名> --expose <本地端口>:<目标服务端口>
ktctl -n devops exchange gva-server --expose 8888:8888 --debug
# 注意 如果有ng的话要添加 proxy_http_version 1.1; 否则接口返回内容为空

查看对端log bin日志和pos值位置

image-20210223113218710

Master配置

1
2
3
4
5
6
7
8
9
10
11
12
13
mysql>>>

GRANT REPLICATION SLAVE ON *.* TO 'replication'@'172.12.1.%' IDENTIFIED BY 'replication';

change master to
master_host='172.12.1.200',
master_user='replication',
master_password='replication',
master_log_file='mysql-bin.000001',
master_log_pos=496; #对端状态显示的值

start slave; #启动同步
show slave status \G;

slave配置

1
2
3
4
5
6
7
8
9
10
11
GRANT  REPLICATION SLAVE ON *.* TO 'replication'@'172.12.1.%' IDENTIFIED  BY 'replication';

change master to
master_host='172.12.1.100',
master_user='replication',
master_password='replication',
master_log_file='mysql-bin.000001',
master_log_pos=496; #对端状态显示的值

start slave; #启动同步
show slave status \G;

主主同步配置完毕,查看同步状态Slave_IO和Slave_SQL是YES说明主主同步成功。

1
GRANT  REPLICATION SLAVE ON *.* TO 'root'@'%' IDENTIFIED  BY '123456';

搭建keeplived

清除slave状态

1
reset slave all;

安装

1
2
3
4
5
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql13-server
/usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13
阅读全文 »

OCI

Open Container Initiative 开放容器协议

成立于 2015 年的 OCI 是Linux基金会旗下的合作项目,以开放治理的方式制定操作系统虚拟化(特别是Linux容器)的开放工业标准,主要包括容器镜像格式和容器运行时(runtime)。初始成员包括 Docker、亚马逊、谷歌和VMware等公司。OCI成立之初,Docker 公司为其捐赠了容器镜像格式和运行时的草案及相应的实现代码。原来属于Docker 的 libcontainer 项目被捐赠给OCI,成为独立的容器运行时项目 runC。

OCI 运行时规范定义了容器配置、运行时和生命周期的标准,主流的容器运行时都遵循OCI运行时的规范,从而提高系统的可移植性和互操作性,用户可根据需要进行选择。

首先,容器启动前需要在文件系统中按一定格式存放所需的文件。OCI运行时规范定义了容器文件系统包(filesystem bundle)的标准,在OCI运行时的实现中通常由高层运行时下载 OCI 镜像,并将OCI镜像解压成OCI运行时文件系统包,然后 OCI 运行时读取配置信息和启动容器里的进程。OCI运行时文件系统包主要包括以下两部分。

  • config.json:这是必需的配置文件,存放于文件系统包的根目录下。OCI运行时规范对Linux、Windows、Solaris和虚拟机4种平台的运行时做了相应的配置规范。
  • 容器的根文件系统:容器启动后进程所使用的根文件系统,由 config.json 中的root.path属性确定该文件系统的路径,通常是“rootfs/”。

然后,在定义文件系统包的基础上,OCI运行时规范制定了运行时和生命周期管理规范。生命周期定义了容器从创建到删除的全过程。


image-20201216150547929

阅读全文 »
0%