avatar
文章
130
标签
14
分类
14

首页
文章
标签
分类
关于
阿哲博客
搜索
首页
文章
标签
分类
关于
Ceph分布式存储
发表于2023-11-08|更新于2024-09-29|Ceph|Ceph
Ceph概述 Ceph介绍 Ceph是一个开源的分布式存储系统,具有高扩展性、高性能、高可靠性等特点,提 供良好的性能、可靠性和可扩展性。支持对象存储、块存储和文件系统。 是目前为云平台提供存储的理想方案 Ceph架构 RBD(RADOS Block Device):块存储接口 RGW(RADOS Gateway)):对象存储网关,接口与S3和Swift兼容 CephFS(Ceph File System):文件级存储接口 RADOS(Reliable Autonomic Distributed Object Store):抽象的 对象存储集群,Ceph核心,实现用户数据分配、故障转移等集群操作 MON:集群状态维护,例如OSD是否健康、PG状态等 MDS (Metadata Server) :CephFS服务依赖的元数据服务 OSD(Object Storage Daemon):对象存储设备,主要存储数据 Ceph核心概念 Pool:存储池,是存储对象的逻辑分区,它规定了数据冗余的类型和对应的副本 分布策略;支持两种类型:副本(replicated ...
K8s集群网络下
发表于2023-10-21|更新于2024-09-29|K8S|K8S
K8s网络组件之Calico Calico是一个纯三层的数据中心网络方案,Calico支持广泛的平台,包括Kubernetes、OpenStack等。 Calico 在每一个计算节点利用 Linux Kernel 实现了一个高效的虚拟路由器( vRouter) 来负责数据转发, 而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 Calico 网络内传播。 此外,Calico 项目还实现了 Kubernetes 网络策略,提供ACL功能。 实际上,Calico项目提供的网络解决方案,与Flannel的host-gw模式几乎一样。也就是说,Calico也是基于 路由表实现容器数据包转发,但不同于Flannel使用flanneld进程来维护路由信息的做法,而Calico项目使用 BGP协议来自动维护整个集群的路由信息。 BGP英文全称是Border Gateway Protocol,即边界网关协议,它是一种自治系统间的动态路由发现协议, 与其他 BGP 系统交换网络可达信息。 K8s网络组件之Calico:BGP介绍 在这个图中,有两个自治系 ...
K8s集群网络上
发表于2023-10-11|更新于2024-09-29|K8S|K8S
服务器网络架构 路由器:网络出口 核心层:主要完成数据高效转发、链路备份等 汇聚层:网络策略、安全、工作站交换机的接 入、VLAN之间通信等功能 接入层:工作站的接入 交换技术 交换机工作在OSI参考模型的第二层,即数据链路层。交换机拥有一条高带宽的背部总线 交换矩阵,在同一时间可进行多个端口对之间的数据传输。 交换技术分为2层和3层: 2层:主要用于小型局域网,仅支持在数据链路层转发数据,对工作站接入。 3层:三层交换技术诞生,最初是为了解决广播域的问题,多年发展,三层交换机已经 成为构建中大型网络的主要力量 广播域 交换机在转发数据时会先进行广播,这个广播可以发送的区域就是一个广播域。交换机之间对广播帧是透明的,所以 交换机之间组成的网络是一个广播域。路由器的一个接口下的网络是一个广播域,所以路由器可以隔离广播域。 ARP(地址解析协议) 发送这个广播帧是由ARP协议实现,ARP是通过IP地址获取物理地址的一个TCP/IP协议。 三层交换机 前面讲的二层交换机只工作在数据链路层,路由器则工作在网络层。而功能强大的三层交换机可同时工作在数据链路 层 ...
kubernetes应用包管理器helm下
发表于2023-09-25|更新于2024-09-29|K8S|K8S
Chart模板:函数与管道 常用函数: quote:将值转换为字符串,即加双引号 default:设置默认值,如果获取的值为空则为默认值 indent和nindent:缩进字符串 toYaml:引用一块YAML内容 其他函数:upper、title等 upper: 将值修改为大写 title: 将值首字母修改为大写 quote:将值转换为字符串,即加双引号 示例:nodeSelector标签的值用了true正常使用会报错,这是因为它是关键字,需要加引号才可以。 #vi mychart/values.yaml replicaCount: 1image: repository: nginx tag: "latest"selectorLabels: "nginx"nodeSelector: gpu: true #vi mychart/templates/deploy.yaml apiVersion: apps/v1kind: Deploymentmetadata: labels: ...
kubernetes应用包管理器helm上
发表于2023-09-17|更新于2024-09-29|K8S|K8S
为什么需要Helm 由于Kubernetes缺少对发布的应用版本管理和控制,使得部署的应 用维护和更新等面临诸多的挑战,主要面临以下问题: 如何将这些服务作为一个整体管理? 这些资源文件如何高效复用? 不支持应用级别的版本管理 Helm介绍 Helm是一个Kubernetes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前 打包好的yaml文件部署到kubernetes上。 Helm有3个重要概念: helm:一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理。 Chart:应用描述,一系列用于描述 k8s 资源相关文件的集合。 Release:基于Chart的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release;将在 k8s中创建出真实运行的资源对象。 Helm目前有两个大版本:v2和v3 2019年11月Helm团队发布v3版本,相比v2版本最 大变化是将Tiller删除,并大部分代码重构。 Helm客户端 使用helm很简单,你只需要下载一个二进 ...
Kubernetes 弹性伸缩
发表于2023-08-20|更新于2024-09-29|K8S|K8S
弹性伸缩概述 从传统意义上,弹性伸缩主要解决的问题是容量规划与实际负载的矛盾。 蓝色水位线表示集群资源容量随着负载的增加不断扩容,红色曲线表示集群资源实际负载变化。 弹性伸缩就是要解决当实际负载增大,而集群资源容量没来得及反应的问题。 Kubernetes弹性伸缩布局 在Kubernetes平台中,资源分为两个维度: Node级别:K8s将多台服务器抽象一个集群资源池,每个Node提供这些资源 Pod级别:Pod是K8s最小部署单元,运行实际的应用程序,使用request和limit为Pod配额 因此,K8s实现弹性伸缩也是这两个级别,当Node资源充裕情况下,Pod可任意弹性,当不足情况下需要弹性增加节 点来扩容资源池。 针对Pod负载:当Pod资源不足时,使用HPA(Horizontal Pod Autoscaler)自动增加Pod副本数量 针对Node负载:当集群资源池不足时,使用CA(Cluster Autoscaler)自动增加Node Node自动扩容/缩容 Node弹性伸缩有两种方案: Cluster Autoscaler:是一个自动调整Kubernete ...
kubernetes运维管理
发表于2023-08-10|更新于2024-09-29|K8S|K8S
Kubernetes 容器云平台技术方案 Kubernetes 容器云平台技术方案:存储 Ceph是一个高性能的分布式存储系统,提供对象存 储、块存储和文件存储功能,可存储海量数据。 角色:Pod数据持久化存储 Kubernetes 容器云平台技术方案:网络 Calico是一个纯三层的数据中心网络方案,Calico支 持广泛的平台,包括Kubernetes、OpenStack等。 Calico 在每一个计算节点利用 Linux Kernel 实现了 一个高效的虚拟路由器( vRouter) 来负责数据转发, 而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 Calico 网络内传播。 此外,Calico 项目还实现了 Kubernetes 网络策略, 提供ACL功能。 Kubernetes 容器云平台技术方案:监控 Prometheus是SoundCloud开源的一款监控 系统。它的实现参考了Google内部的监控系 统,并支持在Kubernetes自动发现被监控端。 是目前Kubernetes监控首选方案。 Pod kubele ...
基于Jenkins构建持续集成(CI)平台
发表于2023-07-10|更新于2024-09-29|K8S|K8S
发布流程 使用 Gitlab 作为代码仓库 & 使用 Harbor 作为镜像仓库 1.部署gitlab mkdir gitlabcd gitlabdocker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80 \ -p 9998:22 \ -v $PWD/config:/etc/gitlab \ -v $PWD/logs:/var/log/gitlab \ -v $PWD/data:/var/opt/gitlab \ -v /etc/localtime:/etc/localtime \ --restart=always \ lizhenliang/gitlab-ce-zh:latest 访问地址:http://IP:9999 初次会先设置管理员密码 ,然后登陆,默认管理员用户名root,密码就是刚设置的。 创建项目,提交测试代码 进入后先创建项目,提交代码,以便后面测试。 unzip tomcat-java-demo-master.zipcd tomcat-java-demo-mastergit initg ...
ELK Stack收集Kubernetes应用日志
发表于2023-06-10|更新于2024-09-29|K8S|K8S
需求背景 业务发展越来越庞大,服务器越来越多 各种访问日志、应用日志、错误日志量越来越多 开发人员排查问题,需要到服务器上查日志,效率低、权限不好控制 运维需实时关注业务访问情况 容器特性给日志采集带来的难度 容器特性给日志采集带来的难度: K8s弹性伸缩性:导致不能预先确定采集的目标 容器隔离性:容器的文件系统与宿主机是隔离,导致 日志采集器读取日志文件受阻 日志按体现方式分类 应用程序日志记录体现方式分为两类: 标准输出:输出到控制台,使用kubectl logs可以看到 日志文件:写到容器的文件系统的文件 示例:标准输出 kubectl run nginx --image=nginx kubectl get pod -o widecurl -I 10.244.36.65kubectl exec -it nginx -- bash 日志文件在宿主机上的路径 kubectl get pod -o wide #查看pod所在节点 #采集所有容器的日志/var/lib/docker/containers/*/*-json.log ...
Prometheus+Grafana监控Kubernetes
发表于2023-05-10|更新于2024-09-29|K8S|K8S
Prometheus 介绍 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目, 拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基 金会(CNCF),成为继Kubernetes之后的第二个托管项目。 https://prometheus.io/ https://github.com/prometheus Prometheus组件与架构 Prometheus Server:收集指标和存储时间序列数据,并提供查询接口 ClientLibrary:客户端库 Push Gateway:短期存储指标数据。主要用于临时性的任务 Exporters:采集已有的第三方服务监控指标并暴露metrics Alertmanager:告警 Web UI:简单的Web控制台 Prometheus基本使用:怎么来监控? 如果要想监控,前提是能获取被监控端指标数据,并且这个 数据格式必须遵循Prometheus数据模型,这样才能识别和 采集,一般使用exporter提 ...
1…567…13
avatar
阿哲
强大自己是解决问题的唯一办法
文章
130
标签
14
分类
14
公告
分享个人经验总结
最新文章
vue前端菜单权限实现思路2024-10-06
django-webssh实现2024-09-23
django-apscheduler基本使用2024-09-22
zabbix监控服务器2024-08-28
银河麒麟离线安装zabbix72024-08-26
分类
  • Ceph1
  • DRF5
  • Django10
  • Docker6
  • ELK11
  • Jenkins5
  • K8S28
  • Prometheus13
标签
Python ELK Prometheus DRF Vue Docker Zabbix Jenkins Web前端 微服务 K8S Django Shell Ceph
归档
  • 十月 20241
  • 九月 20242
  • 八月 20242
  • 六月 202410
  • 五月 20244
  • 三月 202413
  • 二月 202414
  • 一月 20241
网站资讯
文章数目 :
130
本站访客数 :
本站总访问量 :
最后更新时间 :
Copyright © 2021 阿哲
搜索
数据库加载中