2025-1-15 给默认的服务账号service account: default赋予当前namespace的最高权限, 但是仅有这些权限.创建namespace之后, 里面会自带一个默认的service account, 名字是default. 它是没有任何权限的.Error from server (Forbidden): pods is forbidden: User system:serviceaccount:test-namespace:default cannot list resource pods in API group in the namespace default Error from server (Forbidden): storageclasses.storage.k8s.io is forbidden: User system:serviceaccount:test-namespace:default cannot list resource storageclasses in API group storage.k8s.io at the cluster scope
2025-1-15 这篇文章的主要目的是解决国内安装istio ambient速度比较慢、甚至是失败的问题. 因为国内防火墙的原因, 有些资源是拉不到或者速度很慢的.
安装之前需要有一套kubernetes集群, 集群的版本为1.28, 1.29, 1.30, 1.31
下载Istio CLI
#
截止目前最新的Istio稳定版本为: 1.24.2
, 我们今天就安装它.
Istio通过istioctl来配置/安装的. 现在我们需要下载它, 以及一些样例应用:
1
2
3
4
| # 目前只支持1.24.2版本
curl -L https://blog.llaoj.cn/posts/2025/install-istio-ambient/download-istio.sh | bash -s -- 1.24.2
cd istio-1.24.2
export PATH=$PWD/bin:$PATH
|
使用下面的命令检查一下版本, 现在Istio还没有安装:
...
2025-1-15 问题描述
#
用户反应, 在kubernetes中部署的pod去访问外部的redis时, 速度很慢.
redis地址: 10.193.96.73:20100,10.193.96.73:20101,10.193.96.188:20100,10.193.96.188:20101,10.193.96.189:20100,10.193.96.189:20101
已知:
- pod ip: 10.194.43.122
- pod所在机器ip: 10.193.40.57
tcpdump抓包
#
我们选择一个redis端点(10.193.96.188:20101)抓包, 登录pod所在node(10.193.40.57)执行抓包:
tcpdump -n -i eth0 'host 10.193.96.188 and port 20101'
...
2025-1-14 安装1个etcd集群要求:
- 三台服务器
- 开启auth认证
- 使用http, 不使用https加密
- 开启用户名/密码认证
因为我们部署的是内部的可信的服务, 而且只局限在三台服务器中使用, 给apisix做存储使用. 为了简化部署, 减少管理证书的复杂性. 我没有开启https.
服务器情况
#
服务器三台, IP地址分别为: 10.61.129.19-21. centos7.9的操作系统.
本节需要在每一台服务器上执行
#
部署可执行文件
#
将etcd安装在/data/etcd/
目录中.
...
2025-1-14 我们会在下面三台服务器上部署, 服务器列表:
- 10.61.129.19
- 10.61.129.20
- 10.61.129.21
下面的所有操作需要在上述三台服务器上操作.
前置条件-ETCD集群
#
参考
安装高可用ETCD集群(非https)完成etcd集群的安装.
安装apisix可执行文件
#
我们使用官方提供的rpm包安装.
1
2
| yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm
yum install apisix-3.2.0 -y
|
安装完成之后, 我们要知道安装的位置, 一些常用的文件夹地址.
...
2025-1-8 点击查看日志, 错误日志如下:[/pkg/scan/job.go:294]: check scan report with mime type application/vnd.security.vulnerability.report; version=1.1: running trivy wrapper: running trivy: exit status 2: 2025-01-08T01:53:26.342Z [INFO] Vulnerability scanning is enabled panic: invalid page type: 39: 10 go.etcd.io/bbolt.(*Cursor).search 看日志中的错误堆栈, 我发现在读取trivy数据库文件的时候报错了, 所以我的解决办法是, 删掉原来的数据库文件, 让trivy重建一个. 我把Harbor的数据目录放在了/data/harbor_data
, 你可根据自己的实际情况替换.
2025-1-8 问题描述
#
反应执行kubectl命令没有权限:
1
2
| $ kubectl get pod -A
Error from server (Forbidden): pods is forbidden: User "kubernetes-admin" cannot list resource "pods" in API group "" at the cluster scope
|
解决思路
#
首先要了解几个文件夹的作用:
...
2023-9-4 使用VeleroFSB备份集群的时候, 遇到了一些错误, 导致整个备份任务没有成功, 状态: PartiallyFailed
: failed to list daemonset pods: client rate limiter Wait returned an error: context deadline exceeded
2023-4-4 由于Kubernetes中部署的服务队外发起的tcp请求很难监控, 最近数据库运维在排查来自集群的大量数据库请求, 网络层只能看到来自哪个Kubernetes节点主机. 所以写了下面这个脚本来定时扫描.
2022-10-18 注意: 根据自己实际情况, 替换下面名利中的<var>
变量.
启动orcale xe 11g容器
#
Oracle Database XE是人人都可免费使用的 Oracle 数据库. Oracle Database XE 支持最高:
- 最多 12 GB 的用户磁盘数据
- 最大 2 GB 的数据库 RAM
- 最多 2 个 CPU 线程
产品介绍地址:
https://www.oracle.com/cn/database/technologies/appdev/xe.html
...