阿里云操作
目录
简介
这里记录 阿里云 上相关的产品的使用教程
kubernetes 自建
flannel 的搭建完成以后,会发现
- 只有运行在本机的 pod 我请求 ip 能通
- 请求
service-nodeport
的 cluster-ip 有时候通,有时候不通(请求先到达 kube-proxy 的 iptables 规则,而规则是从 endpoint 里获取的。里面记录了多个 pod 的 ip,进行了负载均衡。一旦分配到了另外一个主机上的 pod,就会导致不通)
这是因为阿里云专有网络是一个 sdn 网络。因此需要创建自定义路由。
ifconfig vxlan.calico
查看到网卡信息,每个机器都有不同的网段,例如主机 1 是10.244.79.64
, 主机 2 是10.244.32.128
- 自定义路由配置
10.244.79.0/24
下一跳到主机 110.244.32.0/24
下一跳到主机 2
SLS 日志
配置
- 进入查询页面
- 右上角 - 查询分析属性
- 属性
- 自动分析属性,追加
语法
# 普通查询
level: ERROR
# 统计查询
* and level: ERROR | select sum(1) as "err_count","__tag__:app_name" GROUP by "__tag__:app_name"
查询与告警
查询集锦
请求的主机次数排序
* | select count(1) , host group by host order by count(1) desc
请求最多的客户端 ip
* and host: www.kentxxq.com | select count(1) , client_ip group by client_ip order by count(1) desc
有多少个不同的 ip 请求 , 估算函数-文档地址
* | select approx_distinct(client_ip)
同比查询与告警
* not client_ip: "10.*"
and host: gateway.kentxxq.com |
select
url2,
proxy_upstream_name,
diff [1] as today_total,
diff [2] as yesterday_total,
diff [1]-diff [2] as inc,
round(diff [1] / diff [2],2) as inc2
FROM (
select
url2,
proxy_upstream_name,
compare(count, 86400) as diff
FROM (
select
regexp_extract(split_part(url, '?', 1),'(.*\D)\d*?') as url2,
proxy_upstream_name,
COUNT(*) as count
FROM log
GROUP by
regexp_extract(split_part(url, '?', 1),'(.*\D)\d*?') ,
proxy_upstream_name
)
group by
url2,
proxy_upstream_name
)
where diff [1]-diff [2] > 2000
and round(diff [1] / diff [2],2) > 1.5
order by inc desc
- url2 请求地址
- proxy_upstream_name 服务名称
- today_total 今日请求次数
- yesterday_total 昨日请求次数
- inc 增长数量
- inc2 增长环比
告警模板:
# 告警模板
- 告警严重度:${severity}
- 告警内容:${{ alert.annotations.desc }}
- 告警首次触发时间:${fire_time}
- 此次评估的触发时间:${alert_time}
- 告警规则所在Project:${project}
对比前一天同时段1小时内
{%- for item in alert.results[0].raw_results %}
- 服务名 : {{ item.proxy_upstream_name }} ,请求地址: {{ item.url2 }} , 新增请求 : {{ item.inc }}
{%- endfor %}
[[详情](${query_url})]
OSS 的 sts 上传配置
跨域
oss=》数据安全=》跨域设置=》创建规则
- 来源 *
- 允许所有 methods
- headers*
- 暴露 headers Etag x-oss-request-id Content-Range
- 缓存 60 秒
- 返回 vary: origin 勾上
权限
- 创建角色 RamOssTest 策略
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:PutObject",
"Resource": [
"acs:oss:*:*:xxx-prod/",
"acs:oss:*:*:xxx-prod/*",
"acs:oss:*:*:xxx-test/",
"acs:oss:*:*:xxxtest/*"
]
}
]
}
信任策略
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"RAM": [
"acs:ram::1784459943823235:root"
]
}
}
],
"Version": "1"
}
- 授权 AliyunSTSAssumeRoleAccess 调用 STS 服务 AssumeRole 接口的权限
- 于是就可以用 sts 创建临时 token 调用了
磁盘
扩容
一般来说阿里云都是 MBR分区
+ ext4文件系统
. 如果不对, 就去官网看操作.
# 查看磁盘
# Disk label type值为dos表示MBR分区,值为gpt表示GPT分区
fdisk -lu
# 确保工具安装完成
apt update -y
type growpart || apt install -y cloud-guest-utils
# 扩容
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
# 查看文件系统,一般是ext4
df -Th
# 扩容
resize2fs /dev/vdb1
# 验证效果
df -Th
参考链接: 云盘扩容指引_云服务器 ECS-阿里云帮助中心
新加硬盘
- 实例页面购买多个云盘, 勾选挂载到实例
- 官网初始化文档操作
# 看到/dev/vdb /dev/vdc等等硬盘
fdisk -lu
# 推荐使用 gpt 分区
apt install parted -y
parted /dev/vdb
mklabel gpt
mkpart primary 1 100%
align-check optimal 1
# 退出交互
quit
# 验证
partprobe
fdisk -lu /dev/vdb # 显示gpt
# 文件系统
apt install e2fsprogs -y
mkfs -t ext4 /dev/vdb1
# 挂载
cp /etc/fstab /etc/fstab.bak
mkdir /mnt/vdb1
# /dev/vdb1 /mnt/vdb1
echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /mnt/vdb1 ext4 defaults 0 0 >> /etc/fstab
dataworks 网络排查
排查步骤:
- 需要检查配置信息是否正确无误
- 数据源和 dataworks 需要在同地域,然后通过如下方式打通网络
具体操作
- 专有网络绑定—- 新增绑定:填写专有网络、交换机、安全组 https://help.aliyun.com/document_detail/137838.html?spm=a2c4g.11186623.6.736.460020989baWXL#title-y2t-d8r-10z 注:如果 vpc 选择后选不了对应的交换机,说明不在同一个可用区,需要添加路由
- 添加路由 https://help.aliyun.com/document_detail/168984.html?spm=a2c4g.11186623.6.687.49804074hT07LA#title-cy5-ynr-v79
- 添加白名单 添加资源组的 EIP 和弹性网卡 ip 至数据库白名单 https://help.aliyun.com/document_detail/137792.html?spm=a2c4g.11186623.6.688.4da96a10i6tu8V