0%

思维导图

用markdown编写思维导图神器markmap.

安装markmap

安装完成后,正常编写markdown文件,点击右上角open as markmap,也可以导出.

说明

krew安装

# 1.安装git
yum -y install git
# 2.安装krew
(
  set -x; cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
  KREW="krew-${OS}_${ARCH}" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
  tar zxvf "${KREW}.tar.gz" &&
  ./"${KREW}" install krew
)
# 3.配置环境变量:.bashrc或者其它位置配置
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

krew快速开始

# 1.更新插件列表
kubectl krew update
# 2.查看插件列表
kubectl krew search
# 3.安装插件
kubectl krew install xxxxx
# 4.卸载插件
kubectl krew uninstall xxxxx

插件推荐

  • sniff : 抓包工具
# 保存文件,可以用wireshark分析
kubectl -n test sniff website-7d7d96cdbf-6v4p6 -o test.pcap
# 明文查看
kubectl -n test sniff website-7d7d96cdbf-6v4p6 -o -
# 抓取时过滤
kubectl -n test sniff website-7d7d96cdbf-6v4p6 -f "port 80"

开启慢查询日志

-- 查询慢查询日志开启状态
mysql> show variables like 'slow_query%';
+---------------------+-------------------------------+
| Variable_name       | Value                         |
+---------------------+-------------------------------+
| slow_query_log      | ON                            |
| slow_query_log_file | /var/lib/mysql/data3-slow.log |
+---------------------+-------------------------------+
2 rows in set
-- 开启慢查询日志记录
set global slow_query_log=1;
-- 查询慢查询时间
mysql> show variables like 'long_query_time%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
-- 修改慢查询时间,修改后需要重新建立会话才能看到最新设置的值
set global long_query_time=5;

慢查询输出

-- 查看默认输出,默认输出到文件,性能较高
mysql> show variables like '%log_output%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set
-- 可以设置输出到表
set global log_output='TABLE';
select * from mysql.slow_log;

其它配置

-- 开启这个配置,可以将未使用索引的查询也记录到日志
mysql> show variables like 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+
1 row in set (0.00 sec)
-- 开启配置
mysql> set global log_queries_not_using_indexes=1;

获取istio-proxy所有配置

kubectl -n test exec auhss-v1-769dc687ff-479r4 -c istio-proxy -- curl http://localhost:15000/config_dump > test.json

配置istio-proxy日志级别为debug

# -n 名空间
# server-v1-6dfd6b9846-c2ch6 容器名
kubectl -n mgec  exec server-v1-6dfd6b9846-c2ch6  -c istio-proxy -- curl -XPOST -s -o /dev/null http://localhost:15000/logging?level=debug
# 通过pod注解方式设置日志级别
template:
    metadata:
      annotations:
        sidecar.istio.io/logLevel: debug

查看Prometheus收集的istio指标

istio_requests_total{response_flags="UC", response_code="503", reporter="destination"}

简介

  • Kubernetes的高可用持久化存储
  • 简单的增量快照和备份
  • 跨集群灾难恢复

安装环境要求

# 运行这个命令检查环境
curl -sSfL https://raw.githubusercontent.com/longhorn/longhorn/v1.2.3/scripts/environment_check.sh | bash
# 所有节点安装必要依赖
yum install iscsi-initiator-utils
yum install nfs-utils
yum install jq -y
# 使用helm安装Longhorn
helm repo add longhorn https://charts.longhorn.io
helm repo update
helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace
kubectl -n longhorn-system get pod

查看charts默认配置:helm inspect values longhorn/longhorn
修改默认值:helm install longhorn longhorn/longhorn –namespace longhorn-system –create-namespace –set persistence.defaultClassReplicaCount=1

使用

直接在Longhorn-UI上操作使用

设置备份URL

longhorn备份PV目前支持s3nfs,打开UI选择Setting,选择General,下拉选择Backup Target,填写NFS服务器地址,格式nfs://172.16.100.13:/data/nfs.

说明

一般在机房或者云上使用ECS自建Kubernetes集群是无法使用LoadBalancer类型的Service。因为Kubernetes本身没有为裸机群集提供网络负载均衡器的实现。自建的Kubernetes集群暴露让外网访问,目前只能使用NodePortIngress等的方法进行服务暴露.
有没有方法,让自建的Kubernetes集群也能使用LoadBalancer类型的Service?这里使用OPENELB实现这个功能.

OPENELB部署

OPENELB使用

两种模式

  • Layer 2 模式
  • BGP 模式

华为云使用

网络控制台 -> 子网 -> 选择自己的子网 -> IP地址管理 -> 申请虚拟IP地址.
申请好虚拟IP地址后,就可以在OPENELB创建EIP池时填上申请的虚拟IP.

参考Layer2模式为service分配了IP后,在华为云上还只能在内网访问,如果想公网访问还需要为这个虚拟IP绑定公网IP绑定服务器网卡.