老的系统防火墙使用的一直是iptables,centos/redhat7后默认的防火墙变为了firewalld,
iptables主要是通过四表五链对网络数据进行处理,firewalld则是通过设置zone来限制网络,firewalld与iptables不能共存,会产生不兼容的问题。
我们一般只是知道iptables,但它实际上由两个组件netfilter 和 iptables 组成。
ne...
EFK架构分别代表Elasticsearch、Filebeat、Kibana。
下面所验证的是通过filebeat来收集pods的控制台日志,通过es来检索存储收集到的日志,通过kibana来进行图形化的展示。
环境描述
主机名
ip地址
系统环境
系统版本
内核版本
slions-pc1
192.168.100.10
cpu:x4 mem:8GB filesystem:4...
日志系统架构上可分为收集、纳管、展示三个层级,业界常说的ELK架构是指elasticsearch(搜索、存储)、Logstash(采集、清洗)、Kibana(展示)的日志系统解决方案。在日志采集方面,logstash对内存、CPU、io等资源消耗比较高,与同类产品Beats比,性能有较大的开销。
Beats是一个轻量级日志采集器,目前Beats家族有7个成员:
Packetbeat:网络数...
环境描述
主机名
ip地址
系统环境
系统版本
集群角色
slions_pc1
192.168.100.10
cpu:x4 mem:8GB filesystem:40GB
CentOS 7.6.1810
k8s master & node
我本地之前已经安装过kubernetes v1.19.0,使用的运行时是docker,本次测试下如何将k8s的容器运行时换为c...
从这篇文章可以了解云原生领域CRI与OCI的由来,为了制约docker在容器运行时的垄断地位,Google与IBM、Redhat等公司成立了CNCF,形成以kubernetes服务编排为基础,建设其周边云原生产品的生态,并陆续提出了CRI(容器运行时接口)、CSI(容器存储接口)、CNI(容器网络接口)的规范。
上篇文章开篇的图上可知,当前docker并没有实现CRI的规范,需要通过kube...
本文转载自CSDN “Frank范”
典型的K8S Runtime架构从最常见的Docker说起,kubelet和Docker的集成方案图如下:
当kubelet要创建一个容器时,需要以下几步:
Kubelet 通过 CRI 接口(gRPC)调用 dockershim,请求创建一个容器。CRI 即容器运行时接口(Container Runtime Interface),这一步中,Ku...
日常ansible playbook编写过程中,会涉及到很多变量的解析与替换,解析并替换模板表达式的过程称为渲染。
ansibles使用Jinja2来完成渲染工作,它是Python的一种模板引擎。
Jinja2模板引擎提供了三种特殊符号来包围模板表达式:
{{xxx}}:双大括号包围变量或表达式(Ansible中的变量就是它包围的)
{#x...
在日常使用ansible的过程中会发现,执行shell或command模块时,Ansible只认为0退出状态码是正确的,其它所有退出状态码都是失败的,但我们自己知道非0退出状态码并非一定代表着失败。
比如下例:
12345678- hosts: localhost gather_facts: false tasks: - shell: > ls /home/aa...
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。
条件判断ansible提供的条件判断只有when指令,因为可以写Jinja2条件判断表达式,所以判断方式比较灵活。
同时满足多个条件常见的编程语言在多条件判断时要么使用逻辑与(and或&&),要么使用逻辑或(or或||)。ansible同样支持这种写法。
1when: age >...
列表、字典变量列表和字典是ansible中常见的变量类型。
1234567human: name: slions age: 29 files: - /tmp/a.txt - /tmp/b.txt
对于这类变量的访问,ansible中提供了两种方式:
123456---- hosts: localhost gather_facts: false tasks: - debu...