JohnShen's Blog.

JohnShen's Blog.

基于Kubeadm离线安装Kubernetes
基于kubeadm离线安装K8sk8s版本:v1.22.2 安装前置条件 每台机器 RAM >= 2GB 每台机器 CPU >= 2核 集群中的所有机器的网络能互相连接(内网或公网皆可) 节点之中不可以有重复的主机名、MAC 地址、 product_uuid 1234# MAC addressip link# product_uuidsudo cat /sys/class/dmi/id/product_uuid 禁用交换分区(下文有关闭命令) 确认端口可用 控制平面节点端口 协议 方向 端口范围 作用 使用者 TCP 入站 6443 Kuberne...
Kubernetes相关记录
pod是k8s调度最小单位,一个pod可以包含一或多个container,容器间共享一个Network namespace kubectl create -f pod_nginx.yml 123456789101112apiVersion: v1kind: Podmetadata: name: nginx labels: app: nginxspec: containers: - name: nginx image: nginx ports: - containerPort: 80 kubectl delete -f pod_nginx.yml kube...
容器实战 - 网络相关
Network Namespace隔离的网络资源包括: 网络设备,如eth0, lo 这种网络设备; ipv4和ipv6协议栈,IP层及上面的TCP/UDP协议栈也是每个Namespace独立工作的。 IP路由表,可通过ip route查看。 防火墙规则,每个Namespace可以独立配置iptables规则。 网络状态信息。可从 /proc/net 和 /sys/class/net 里得到。 lsns -t net这个命令来查看系统里已有的 Network Namespace。当然,lsns也可以用来查看其它 Namespace。 容器里 Network Namespace 的网络...
朝花夕拾 - Linux Shell 文本处理
朝花夕拾 - Linux Shell 文本处理A. grep文本搜索 123456789101112131415161718192021# 1. --color可以在输出行中着重标记出匹配到的模式grep --color=auto word filename# 2. 选项-E可以使grep使用扩展正则表达式。也可以使用默认启用扩展正则表达式的egrep命令grep -E "[a-z]+" filenameegrep "[a-z]+" filename# 3. 选项-o可以只输出匹配到的文本echo this is a line. | egrep -o "[a-z]+\." # line....
Clickhouse 概述
Clickhouse 概述使用场景因为ClickHouse在诞生之初是为了服务Yandex自家的Web流量分析产品Yandex.Metrica,所以在存储数据超过20万亿行的情况下,ClickHouse做到了90%的查询都能够在1秒内返回的惊人之举。它基本能够胜任各种数据分析类的场景,并且随着数据体量的增大,它的优势也会变得越为明显。ClickHouse非常适用于商业智能领域(也就是我们所说的BI领域),除此之外,它也能够被广泛应用于广告流量、Web、App流量、电信、金融、电子商务、信息安全、网络游戏、物联网等众多其他领域。不过ClickHouse不应该把它用于任何OLTP事务性操作的...
Linux宿主机及Docker监控
宿主机监控Interpreting Prometheus metrics for Linux disk I/O utilizatio Node_exporter IO指标详解 Understanding Machine CPU usage Node_exporter CPU指标详解,教你看懂CPU适用率是怎么算出来的 Docker CPU Usage 介绍docker stats中的docker原生CPU信息收集的细节。 容器监控在调研方案中发现,基本都是采用cAdvisor,K8S内部也是采用cAdvisor。选取版本 v0.37.5。 cAdvisor CPU过高之前使用...
Linux性能优化-内存篇
1. 内存映射虚拟内存: Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。进程可以很方便地访问虚拟内存。 虚拟地址空间分为:内核空间和用户空间。不同字长处理器(32位/64位)地址空间范围也不同。进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存。 所有进程的虚拟内存加起来要比实际内存大得多,因此不是所有虚拟内存都分配内存,只有实际使用的虚拟内存才会分配物理内存,分配后的物理内存通过内存映射进行管理。内存映射,其实就是将虚拟内存地址映射到物理内存地址。为了完成内存映射,内核为每个进程都维护了一张页表,记录虚拟地址与物理地址的...
Redis-集群
Redis Cluster 是 Redis 的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用 Cluster 架构方案达到负载均衡的目的。 1. 数据分布分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集,常规的有:哈希分区、顺序分区。主要的哈希分区规则有:节点取余分区、一致性哈希分区、虚拟槽分区。 节点取余分区hash(key) % N计算出哈希值,用来决定数据映射到哪一个节点上。 缺点:当节点数量变化时,如扩容或收缩节点,数据节点映射...
Kubernetes 入门笔记
Kubernetes 一个用于自动化部署、扩容和管理容器应用的开源系统;它将一个分布式软件的一组容器打包成一个个更容易管理和发现的逻辑单元。 它最开始由 Google 工程师创立,深受公司内部 Borg 和 Omega 项目的影响,目前是 CNCF 的项目。 主要功能: 自动装箱:基于容器对应用运行环境的资源配置要求自动部署应用容器 自我修复:当容器失败时,会对容器进行重启;当所部署的Node 节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务 水平扩展:通过简单的命令、用户UI 界面或基于CPU 等资源使用情...
DDIA 读书整理- 1.可靠、可拓展与可维护的应用系统
数据密集型数据密集型(Data-intensive):对于一个应用系统,如果数据是其成败的决定性因素,包括:数据的规模、数据的复杂度、数据的产生与变化速率等,即可称为“数据密集型应用系统”。与之相对应的是“计算密集型系统”,CPU主频是其主要制约瓶颈。 数据密集型应用通常基于标准模块构造而成,每个模块负责单一功能,如:数据库、高速缓存、索引、流式处理、批处理等。单个组件无法满足所有数据处理与存储需求,因而需将任务分解,每个组件高效完成一部分,多组件依赖应用层代码有机衔接起来。 软件系统需主要关注三个问题: 可靠性(Reliability):出现意外情况如硬件、软件故障、人为失误等,系统...
avatar
John Shen
功不唐捐,殊途同归。