https://avatars.githubusercontent.com/u/18242685

lihuu's blog

Kubernetes集群安装

安装

我们只是搭建一个 mini 的类似于真实的 kubernetes 环境,用来自己学习,我们也可以选择安装 minikube

安装前的准备工作

  1. 修改 hostname,因为 kubernetes 使用 hostname 来区分集群

    sudo vim /etc/hostname
  2. 使用 docker 作为容器运行时,kubernetes 支持多种容器运行时,使用 docker 比较方便。

    cat <<EOF | sudo tee /etc/docker/daemon.json
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      },
      "storage-driver": "overlay2"
    }
    EOF
    
    sudo systemctl enable docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  3. 修改 iptables 的配置,启用"br_netfilter"

Zabbix 入门

安装

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202304111723534.png

这里选用了如上的配置

1. 安装 Zabbix repository

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update

2. 安装 Zabbix server,Web 前端,agent

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

3. 创建初始数据库

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;

4. 导入初始架构和数据

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

5. 配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

正则表达式入门

元字符

特殊单字符

. 任意字符,不包括换行

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121437456.png

\d 任意的数字

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121439070.png

\D 任意的非数字

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121439355.png

\w 任意的字母、数字、下划线

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121441651.png

\W 非字母、数字、下划线

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121442574.png

\s 空白符号

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121443512.png

\S 非空白符号

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121443352.png

空白符号

  • \r 回车

  • \n 换行

  • \f 换页

  • \t 制表符

  • \v 垂直制表符

  • \s 任意空白符 \s 能匹配上各种空白符号,也可以匹配上空格。换行有专门的表示方式,在正则中,空格就是用普通的字符英文的空格来表示。

Docker入门

安装

安装以 Ubuntu 系统为例,其他的系统可以参考官方文使用文档

卸载旧的版本

sudo apt remove docker docker-engine docker.io

设置 docker 的仓库

  1. 更新 apt 目录

    sudo apt update

  2. 安装使用 Https 仓库所必须的包

    sudo apt install apt-transport-https ca-certificates curl software-properties-common

  3. 添加 Docker 的官方的 GPG key

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  4. 添加 Docker 的仓库

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker CE

这里安装的是社区版的 Docker

sudo apt update

sudo apt-get install docker-ce docker-ce-cli containerd.io

Javascript 宏任务和微任务

宏任务

由宿主发起的任务称为宏观任务。
例如setTimeout函数创建的就是宏任务,当前的脚本执行也是宏任务。

setTimeout(() => {
  console.log("Hello");
}, 100);

微任务

由 JavaScript 引擎发起的任务称为微任务。
微任务的主要来源是Promise。 在 JavaScript 的事件循环中,当期宏任务执行完或者如果调用栈为空的时候,会检查微任务队列,如果队列不为空,会执行微任务队列中的任务。

Vim使用技巧

使用 vim 编辑器去除文件中的^M

set fileformat=unix

vim 编辑器使用 16 进制打开文件

以十六进制显示文件:%!xxd,换回二进制:%!xxd -r

vim 编辑器比较优秀的配置文件

https://github.com/spf13/spf13-vim

界定单词的边界

我们在定义模式时,如果能指定单词从哪里开始到哪里结束的话,将会非常有用,可以使用 vim 编辑器的单词界定符。

Percona XtraBackup

介绍

Persona Xtrabackup 是 MySQL 中的一个免费的热备份工具。它针对 InnoDB 和 XtraDB 提供了无锁的热备份。它有如下几个特点:

  • 可靠的快速备份。
  • 备份时不中断事务处理。
  • 节省硬盘空间和网络带宽。
  • 自动的备份校验。
  • 快速的数据恢复。
  • 支持 InnoDB no-blocking 热备份。
  • 支持增量备份。
  • 支持压缩流式备份到另一台服务器
  • 在不同的服务器中在线迁移表。

前提

需要账号和密码连接服务器

xtrabackup --user=user --password=password --backup --target-dir=/data/backup 除此之外,--port可以指定端口,--socket指定使用 localhost 本地连接的 socket 文件的位置,--host指定 tcp/ip 链接的时候的地址。