awk命令用法
awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号12# 每行按空格或TAB分割,输出文本中的1、4项$ awk '{print $1,$4}' log.txt awk -F #-F相当于内置变量FS, 指定分割字符12# 使用","分割$ awk -F, '{print $1,$2}' log.txt awk -v # 设置变量1$ awk -va=1 '{print $1,$1+a}' log.txt awk -f {awk脚本} {文件名} # 赋值一个用户定义变量1$ awk -f cal.awk log.txt 使用awk取某一行数据中的倒数第N列:$(NF-(n-1)) 比如取/etc/passwd文件中的第2列、倒数第1、倒数第2、倒数第4列(以冒号为分隔符)。($NF表示倒数第一列,$(...
Elasticsearch:Snapshot备份与恢复
SnapshotElasticsearch文档里对于snapshot有如下描述: 1The index snapshot process is incremental. In the process of making the index snapshot Elasticsearch analyses the list of the index files that are already stored in the repository and copies only files that were created or changed since the last snapshot. 这里说snapshot是增量备份的,每次snapshot,Es会分析index文件,并且只备份增量部分。 snapshot是增量备份,对未发生变化的index重复备份几乎没有资源消耗; 删除snapshot不会对其它snapshot产生影响; snapshot是增量备份,对未发生变化的index重复备份几乎没有资源消耗 删除某个snapshot不会对其它snapshot产生影响。 操作建仓...
remoteaddr的一些认识
关于nginx - $remote_addr的解释 nginx的自带变量 $remote_addr 代表客户端的IP remote_addr代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的. 当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web服务器(Nginx,Apache等)就会把remote_addr设为你的机器IP,如果你用了某个代理(比如clb),那么你的浏览器会先访问这个代理,然后再由这个代理转发到网站,这样web服务器就会把remote_addr设为这台代理机器的IP。 但是实际场景中,我们即使有代理,也需要将$remote_addr设置为真实的用户IP, 以下利用with-http_realip_module模块实现安装(nginx或者openresty编译需要加--with-http_realip_module)1./configure ...... --with-http_realip_module 添加如下配置123456789101112131415# 从哪个header头检索出要的IP地址real_ip_...
定时自动重启Pod服务
方法1:滚动重启从1.15版开始,Kubernetes允许您滚动重启部署。作为Kubernetes的新增功能,这是最快的重启方法。 kubectl rollout restart deployment [deployment_name] 上面提到的命令将逐步执行关闭操作,并重新启动deployment中的每个pod容器。在重启过程中应用仍然可用,因为大多数容器仍在运行。 方法2:使用环境变量另一种方法是设置或更改环境变量,以强制Pod重新启动并与您所做的更改同步。 例如,可以更改容器部署日期: kubectl set env deployment [deployment_name] DEPLOY_DATE="$(date)" 在上面的示例中,该命令**set env设置环境变量的更改,deployment [deployment_name]选择您的部署,并DEPLOY_DATE="$(date)"**更改部署日期。 方法3:缩放副本数我们可以使用该**scale**命令来更改deployment的副本数。将此数量设置为0实际上会关闭...
Kubernetes权限管理RBAC详解
摘自: https://blog.csdn.net/qq_35745940/article/details/120693490 一、简介 kubernetes 集群相关所有的交互都通过apiserver来完成,对于这样集中式管理的系统来说,权限管理尤其重要,在1.5版的时候引入了RBAC(Role Base Access Control)的权限控制机制。 启用RBAC,需要在 apiserver 中添加参数–authorization-mode=RBAC,如果使用的kubeadm安装的集群,1.6+版本都默认开启了RBAC。 1$ grep -C3 'authorization-mode' /etc/kubernetes/manifests/kube-apiserver.yaml API Server目前支持以下几种授权策略: AlwaysDeny:表示拒绝所有请求,一般用于测试。 AlwaysAllow:允许接收所有请求。如果集群不需要授权流程,则可以采用该策略,这也是Kubernetes的默认配置。 ABAC(Attribute-Ba...
记录ES使用分页查询的几种方式
摘自:https://cloud.tencent.com/developer/article/2110964 ES支持的三种分页查询方式 From + Size 查询 Search After 查询 Scroll 遍历查询 「说明:」 官方已经不再推荐采用Scroll API进行深度分页。如果遇到超过 10000 的深度分页,推荐采用search_after + PIT。 官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.14/paginate-search-results.html。 分布式系统中的深度分页问题「为什么分布式存储系统中对深度分页支持都不怎么友好呢?」 首先我们看一下分布式存储系统中分页查询的过程。 假设在一个有 4 个主分片的索引中搜索,每页返回10条记录。 当我们请求结果的第1页(结果从 1 到 10 ),每一个分片产生前 10 的结果,并且返回给 协调节点 ,协调节点对 40 个结果排序得到全部结果的前 10 个。 当我们请求第 99 页(结果从 990 到 1...
k3s介绍
之所以叫做 K3S 是因为希望安装的 K8S 在内存占用方面只是一半的大小,而一半大的东西就是一个 5 个字母的单词,简写为 K3S。 k3s 特点 k3s 是由 Rancher Lab 开源的轻量级 Kubernetes。k3d 完美继承了 k3s 的简单、快速和占用资源少的优势,镜像大小只有 100 多 M,启动速度快,支持多节点集群。虽然 k3s 对 Kubernetes 进行了轻量化的裁剪,但是提供了完整了功能,像 Istio 这样复杂的云原生应用都可以在 k3s 上顺利运行。 因为 k3s 本身应用场景主要在边缘侧,所以支持的设备和架构很多,如:ARM64 和 ARMv7 处理器。很多老旧 PC 和树莓派这样的设备都可以拿来做成 k3s 集群,为本地研发测试燃尽最后的生命。 k3s是打包为单个二进制文件 把 K8S 相关的组件,比如 kube-api/ kube-manager 都打包到同一个二进制文件里面,这样的话,只需要启动这个文件就可以快速的启动对应的组件。 使用基于 sqlite3 的默认存储机制 同时支持使用 etcd3、MySQL 和...
k3s在启动后修改配置参数
https://github.com/k3s-io/k3s/discussions/5434#discussioncomment-2568382 例如修改端口和单节点最大pod数量(apiserver参数配置在master)master vim /etc/systemd/system/k3s.service 如果是使用etcd作为存储, 配置文件在/etc/systemd/system/multi-user.target.wants/k3s.service 1234ExecStart=/usr/local/bin/k3s \ server \ '--kubelet-arg=max-pods=300' \ '--kube-apiserver-arg=service-node-port-range=30000-40000' systemctl daemon-reload systemctl restart k3s node vim /etc/systemd...
Dckr-向导式构建工具
Dckr<谨供参考> 最近发现个好东西-Dckr : 一款基于Docker的容器配置及编排的向导式构建工具(支持Docker、Compose、Kubernets、Rancher的资源文件向导式构建) 引自官方: 12345678910111213通过它,你可以轻松完成以下操作: 借助语义化UI向导式构建Dockerfile、docker-compose.yaml、Kubernetes资源文件、Rancher Chart。 支持docker-compose.yaml向Kubernetes资源文件的转换。 支持docker-compose.yaml或Kubernetest(Helm Chart)向Rancher Chart的转换。它的存在意义: 通过语义化UI向导式的指引你去构建相关容器配置、编排文件,降低了你的学习成本。 通过转换功能,能轻松地将不同容器产品的配置文件进行相互转换,极大地提高了你的工作效率。 通过它进行构建的YAML文件是符合规范的,让你摆脱编写YAML文件因缩进等格式问题带来的痛苦。 通过它你可以轻松对相关...
