- 博客(61)
- 收藏
- 关注
原创 k8s ingress-nginx-controller 0.46.0 升级到 1.6.4
因为是 k8s 版本升级到1.24后导致的不兼容,所以我们要找到对应的版本的ingress。Kubernetes v1.18+ 需要 IngressClass,执行以下命令检查。我们找到了比较合适的1.6.4版本。
2025-02-10 15:43:40
487
2
原创 【linux】host key verification fail
我遇到一种情况,在gitlab-runner调用容器来进行ssh或scp时,也会出现这种错误,是因为第一次访问需要有一个交互,输入yes,如果直接回车,也会产生host key verification fail报错。一般遇到这个错误时,使用以下命令就可以解决,清除~/.ssh/known_hosts文件中的对应行。
2024-02-22 12:11:48
497
4
原创 【k8s】创建kubeconfig文件
如果是用kubeadm创建的集群,使用以下命令,创建一个用户名为test-viewer 的,有效期为一年的,apiserver地址是https://k8sapi:6443的kubeconfig 文件。使用以下脚本可以创建一个只对某个命令空间可以执行命令的kubeconfig文件,具体所需权限可以自己调整yaml文件内容。
2024-01-19 17:05:43
1132
原创 【k8s】error: unable to upgrade connection: Unauthorized
我这里遇到的情况是,master节点的/etc/kubernetes/pki/apiserver-kubelet-client.crt 证书文件过期导致的无法验证的问题,将该证书更新后就恢复正常了。在执行kubectl exec命令时遇到了报错,所有的pod都无法exec进入。
2023-12-22 10:54:45
1066
原创 prometheus使用数据源的timestamp而非server的timestamp
若exporter未返回timestamps,则应用prometheus拉取时刻的timestamps(即服务端的timestamp);间接应用prometheus拉取时刻的timestamps(即服务端的timestamp);应用拉取/metrics时exporter返回的timestamps;指标值后面跟着的是timestamp。
2023-10-08 11:04:53
809
1
原创 Nginx 使用 lua-nginx-module 来获取post请求中的request和response信息
让我们不要用这个luajit版本,可以用openresty提供的luajit优化版本,或者干脆直接用openresty。卸载luajit官网版本,下载openresty提供的luajit优化版本。就是在nginx.conf 中的 http{}模块中加入下面这行代码:lua_load_resty_core off;这个问题到git上面看了 ,https://github.com/openresty/lua-nginx-module/issues/1509。加载lua库,加入到ld.so.conf文件。
2023-08-24 16:20:43
1599
4
原创 k8s kubelet coredns ubuntu修改dns配置文件读取路径
且kubelet默认的dns文件读取也是该文件。因不习惯使用该服务来管理dns配置,所以需要修改kubelet的默认读取dns的文件路径的配置。修改kubelet配置,在/var/lib/kubelet/config.yaml文件中加入。如果想在后续加入新节点时,将该配置文件的默认配置更改,可以在configmap中更改。服务的,且配置nameserver配置文件默认为。服务默认使用节点上的dns配置,由于在。及以上版本,默认是启用。
2023-07-24 12:14:11
1147
原创 NFS mount.nfs: access denied by server while mounting
发现只有3、4版本,由于client版本是ubuntu14 默认是ver 2,在挂载的时候需要指定版本号。如果要写入 /etc/fstab ,需要在第四列加入 nfsvers=3 的参数,参考。遇到此报错,先确认/etc/exports配置文件配置正确。查看server 端 version。然后我遇到的其中一种可能的原因是,
2023-07-21 15:54:45
2491
原创 k8s集群崩溃-ETCD集群快照恢复
1、将所有master节点/etc/kubernetes/manifests/etcd.yaml文件备份。2、清理数据目录(–data-dir 配置 为目录地址)在恢复两个节点后,即可查看集群状态。恢复etcd集群过程。
2023-06-15 19:18:03
418
原创 k8s集群崩溃-恢复集群证书过程
清空所有master节点 /etc/kubernetes/pki 下所有文件,保留/etc/kubernetes/pki/etcd目录,在其中一个master上执行以下命令,获得所有ca文件,并同步到其他master。(所有master节点ca文件要一致)1、在仅有一个master证书保留的情况下。将以下证书拷贝到其他master节点。在其他master节点上执行。在其他master节点上执行。2、所有证书丢失的情况下。
2023-06-15 19:03:53
347
原创 nginx 自定义403返回页面
因公司内部域名通常用白名单的方式来进行域名访问限制,想要自定义 403 返回页面。以下配置就可以展示 nginx 中的 $remote_addr 变量。1、开启允许 nginx 使用 error_page 处理错误信息。即可,如果需要自定义 上游/代理 服务器的状态吗,则需要开启。配置就可以在 html 文件中使用 nginx 中的自有变量。因为只涉及 nginx ip 白名单,所以只需要开启。也可以配置成返回固定的 html 文件。2、关于 error_page 配置。
2023-04-07 11:40:53
5168
2
原创 nginx使用geoip2,对个别国家限制访问,多层nginx代理解决方法
因为项目需要对个别国家进行屏蔽,禁止访问,且因为上游代理的是S3,无法通过后端代码来实现对个别国家屏蔽,需要在nginx代理层进行过滤转发,这里需要饮用nginx中的geoip2模块。由于数据库每两周更新一次,所以需要及时更新数据库文件。我们这里下载的是mmdb格式的数据库,是国家数据库。下载geoip2数据文件。
2023-03-28 11:41:03
1310
原创 k8s进入无法通过bash或sh进入pod的方法
登陆该node,查看该pod所对应的docker container_id,当尝试用kubectl进入coredns的pod内进行查看时,报错。使用边车通过以下命令访问该容器,$ID是指container_id。通过一下命令查看其中一个coredns实际所在的node。
2023-03-22 16:22:44
1331
原创 【Nginx】POST请求跳转后变为GET请求 308 307状态码
由于nginx中配置了http强制跳转https的配置,导致从http接收到的POST请求无法正常响应,是因为POST 请求经过 rewrite跳转后变成了GET请求。
2023-03-17 14:08:19
5987
原创 SSH远程执行Python3 Error: UnicodeEncodeError: ‘ascii‘ codec
首先确定要执行脚本服务器的语言编码环境,执行通过对比发现SSH客户端的编码环境是C.UTF-8,而Python运行环境为en_US.utf8C表示的是ascii编码, en_US.utf8 与 zh_CN.utf8 都是包含汉字的首先想到的是可能是SSH客户端影响了Python运行时的默认encode方式,那么我们把SSH客户端的环境设置成和Python运行环境一样的『这里客户端为Ubuntu』设置完成后再尝试SSH到Python运行环境容器,发现运行不再报错。
2023-02-21 12:02:49
646
原创 【nginx】server_name正则匹配写法、代理websocket服务且配置允许跨域
是否等于"websocket"来判断该请求是否是websocket请求根据判断返回不同的。在本机/etc/hosts中添加解析,例如访问fff.jinyangh.com,则会返回。是否等于"upgrade" 和。2、开启websokcet。,jinyangh是。
2023-02-17 10:56:11
574
原创 ETCD集群初始化及开启身份验证
有两种方式可以启动集群,一种是通过yml文件启动,一种是通过命令行启动。root用户自带所有权限,因此只需创建该用户,开启认证即有所有权限。编辑好配置文件后用下面的命令再各个主机依次启动。请参考官方例子,这里不再赘述。随后根据提示设置密码即可。
2023-02-15 16:38:40
893
1
原创 【grafana】grafana Panel plugin not found: grafana-piechart-panel
如果遇到如上报错,登录到安装此grafana的机器上执行一下命令即可!随后重启grafana。
2023-02-06 17:41:03
475
原创 【prometheus】通过API 删除数据 清理磁盘
如果只想删除某个指标(metrics)的某段时间的数据,可以使用prometheus官方提供的api来进行删除,例如想要删除前10天至前20天所有的nginx_server_requests数据。使用api来删除数据的前提是开启"–web.enable-admin-api"选项。start 代表开始的时间戳。end 代表截止的时间戳。
2022-12-23 18:56:41
4548
原创 【Nginx】跨域配置 正则匹配 $http_origin
开发需要一个满足正则匹配的跨域配置,就是指 只有满足正则匹配的域名($http_origin)才可以允许跨域参考配置
2022-12-06 11:12:26
4806
原创 Ubuntu 安装 prometheus
proemtheus配置文件重新加载(前提是开启了–web.enable-admin-api选项)创建prometheus服务启动配置文件。将可执行命令转移到/usr/bin。添加prometheus用户。创建所需路径并赋予权限。
2022-11-30 18:08:35
1175
原创 【k8s】kubernets和docker之间版本的对应关系
如果查看1.18版本k8s对应的docker支持的最新版本。查看最新版本k8s对应的docker支持的最新版本。
2022-10-11 16:12:33
8509
原创 【Unbuntu】高可用kubernets集群部署
服务器配置:1、禁用swap(所有节点)2、配置内核参数,包括允许 iptables 检查桥接流量(所有节点)3、安装docker(所有节点)
2022-09-27 14:49:52
1127
原创 【k8s】Failed to watch directory...no space left on device
在k8s驱逐某个node上的pod时,发现永远是驱逐中,pod一直处于Terminating中,并且在该节点的kubelet日志中看到Failed to watch directory…no space left on device内容。查看kubelet日志。
2022-09-23 17:20:25
522
原创 【k8s】ingress-nginx 启用 geoip2 全流程部署
Ingress(以nginx为例)的工作原理如下:1、用户编写Ingress规则,说明那个域名对应kubernetes集群中的那个Service2、Ingress Controller动态感知Ingress服务规则的变化,然后生成一段对应的Nginx反向代理配置3、Ingress Controller会将生成的nginx配置写入到一个运行着的Nginx服务中,并动态更新4、到此为止,其实真正在工作的就是一个Nginx了,内部配置了用户定义的请求转发规则链接自定义header的。
2022-09-07 18:35:46
2751
1
原创 【Flask、nginx、JQuery】超时问题502
最近用flask做了个接口,功能主要是使用getssl用来申请letsencrypt免费证书,并将其功能嵌入进公司的CMDB系统,可以通过一键点击来进行证书的申请,添加TXT域名解析,获得证书文件,将证书文件自动推入到git库等待使用,等功能。uwsgi可以根据你自己的配置情况来选择配置http-timeout还是socket-timeout,这里都配上也不影响。由于申请证书过程繁琐,时间较长,每次发起请求后,,你们可以根据情况自己设置合适的超时时间。由此解决了超时请求的问题。,由于我的请求流程是。
2022-09-05 18:24:51
1892
原创 k8s kubectl pod python3 无法看到print输出
在k8s中部署pod调试过程中无法看到print输出,需要在deployment配置中加上以下参数。
2022-09-02 17:28:24
527
原创 【k8s】 etcd cluster is not healthy 将一个master控制节点踢出后重新加入集群发现报错
选项,提高日志等级就可以发现,提示刚刚踢出的master节点etcd无法连接。原因是master节点踢出后etcd集群并未将其踢出集群,需要我们手动进行移除。随便登陆一台现有的master机器并查看现有的etcd集群列表,果然其中还有那台已经退出集群的服务器10.0.1.81:2379。报错结果显示etcd集群运行不正常,其实在kubeadm join加入集群时打开。现在将这台服务器的etcd从集群中移除。移除之后,新节点就可以正常加入集群了。下载etcdctl命令行工具。...
2022-09-01 17:08:26
1118
原创 【nginx】根据不同http_referer来源代理到不同的后端
由于两个项目在同一台机器的不同目录下,有不同的静态文件static目录。由于根/路径都会代理到第二个项目,会导致第一个项目在请求/static下的静态文件js或者css时会出现404的问题,所以需要新增一个/static路径,来做一个请求来源referer的判断,来代理到不同的后端。有一个域名,根据不同的uri对应不同的后端应用(同一个机器不同port),刚开始使用不同的location进行的区分,大概为。...
2022-08-31 14:09:35
4589
原创 【k8s】单master到多master平滑升级
由于单master节点用于线上环境发生故障时会导致集群整个不可用,生产环境中有很大风险所以要把集群升级为多master模式,其中任何一个节点宕机都不影响集群正常运行。将 kube-system 中的 kubeadm-config 配置导出,并修改配置。因为被删除的节点不是很“干净”,所以还需要把/etc/kubernets下的内容移除。根据上面操作的信息屏凑一个加入主节点的命令,在新加入的2个主节点执行。修改kubeadm-config中api-server地址。发现新的证书已经更新的。.........
2022-08-30 19:04:27
2362
原创 【Nginx】error_page配置不生效 proxy_intercept_errors
Nginx error_page 不生效。Nginx S3 返回403这条配置的含义是:当被代理的服务器响应的响应码’大于等于’300[常见"404"、"500"等]时,应将响应’直接返回’客户端还是nginx捕获后"自定义"错误页面’按。Nginx经常用来做反向代理,直接将请求转发给目标服务器,并将响应数据返回给客户端,但当nginx所代理的服务返回403时,无法对其进行捕捉并修改,需要开启。我想要实现的效果是,当s3返回403或者404时,直接返回默认的index文件。这里放一下我的配置参考。...
2022-08-04 12:04:22
3972
原创 【k8s】报错解决:Error from server (BadRequest): a container name must be specified for pod choose one of
因为一个pod内有多个container,所以需要指定唯一的container名查看日志进入容器
2022-06-20 17:59:39
5136
原创 【Linux】申请多域名证书,生成csr和key文件
需要申请类似这样多域名证书,可以通过opessl命令生成csr和key文件。vim创建openssl.cnf文件[ req ]default_bits = 2048#default_md = sha256default_keyfile = privkey.pemdistinguished_name = req_distinguished_nameattributes = req_attributesx509_extensions = v3_careq_extens.
2022-05-17 10:46:26
1803
原创 【django】allauth模块详解google Oauth
因为领导提了需求,需要在完整的项目上更改用户登陆以及验证方式,由之前的LDAP改为google Oauth的验证方式,经过一个多星期的摸索,以及查各种资料,终于搞出来了,在此做个总结,篇幅可能较长,请耐心观看。留个坑,有空写...
2021-12-31 15:34:22
1556
1
原创 【k8s】dial tcp 192.168.132.11:6443: connect: connection refused
今天博主登陆了好久没登陆的自己在家搭建的k8s集群,突然发现master节点执行以下命令产生了报错,以为是api-server没起来,重启了好几次没起来,一通百度还是没有解决问题。kubectl get node# 报错内容提示无法连接本地6443端口突然想到了证书的问题,一查,已经过期两个多月了 ????# 查看各个组件证书过期时间kubeadm certs check-expirationCERTIFICATE EXPIRES
2021-12-20 23:37:23
42071
原创 在执行bash脚本时,git pull --rebase报错fatal: Cannot rebase onto multiple branches
在网上查找了解决办法,最终在https://stackoverflow.com/questions/35842492/git-cannot-rebase-onto-multiple-branches中找到了正确答案。在我本机,将git pull --rebase拆分成两条命令就可解决git fetch --all --prune && git rebase origin/branch不过仍然会报错,不过不影响结果...
2021-12-03 15:07:57
1699
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人