在Kubernetes中,Pod是最小的管理单元,是一组紧密关联的容器组合。但是,单独的Pod并不能保障总是可用,比如我们创建一个nginx的Pod,因为某些原因,该Pod被意外删除,我们希望其能够自动新建一个同属性的Pod。很遗憾,单纯的Pod并不能满足需求。为此,Kubernetes实现了一系列控制器来管理Pod,使Pod的期望状态和实际状态保持一致。目前常用的控制器有:DeploymentStatefulSetDaemonSetJob/CronJob这里只介绍Deployment、DaemonSet、Job/CronJob。StatefulSet留到后面Kubernetes有状态应用
GitOps的核心理念就是一切皆代码,意味着用户名、密码、证书、token等敏感信息也要存储到Git仓库中,这显然是非常不安全的,不过我们可以通过Vault、Keycloak、SOPS等Secret管理工具来解决,最简单的方式是使用SOPS,因为它可以使用PGP密钥来加密内容,如果你使用kustomize则还可以在集群内使用相同的PGP密钥解密Secret。ArgoCD虽然没有内置的Secret管理,但是却可以与任何Secret管理工具集成。sops 是一款开源的加密文件的编辑器,支持YAML、JSON、ENV、INI和BINARY格式,同时可以用AWSKMS、GCPKMS、AzureKey
背景 注:背景有点啰嗦,讲讲一路走来研发本地调试的变化,嫌烦的可以直接跳过,不影响阅读。2019年我在的公司当时是个什么情况,只有两个Java应用,还都跑在一个TomcatServlet容器。当时是如何本地调试?都是研发自己电脑装个Mysql,装个Tomcat,自己电脑运行调试,好处嘛就是后端研发互不干扰,想怎么改就怎么改,APP端研发就直连后端的笔记本调试。上线部署嘛就是一个研发手动编译个Jar包丢到云服务器上面,大体就是个草台班子,能干活,但是也就那样。2020年到了2020年,公司买了一台服务器,Centos的系统,给装上了Mysql、Tomcat,用上了Redis缓存,RabbitMQ
GLib对象系统ObjectSystem(GObject)是一个为C语言提供灵活且可扩展的面向对象框架的库。在这篇文章中,我将使用该库的2.4版本进行演示。GObject库继承了ANSIC标准,拥有一些常见的数据类型,例如:gchar:字符型guchar:无符号字符型gunichar:32位定宽Unicode字符型gboolean:布尔型gint8、gint16、gint32、gint64:有符号8、16、32和64位整数guint8、guint16、guint32、guint64:无符号8
HummerRisk 是一个开源的云安全治理平台,以非侵入的方式对云原生环境进行全面安全检测,核心解决三个方面的问题,底层的混合云安全合规,中层的K8s容器云安全和上层的软件安全。特性混合云安全治理混合云安全合规检测:对主流的公(私)有云资源进行安全合规检测,例如等保2.0预检、CIS合规检查、各种基线检测,同时可自定义检测规则。漏洞检测:基于漏洞规则库,通过扫描等手段对指定的网络设备及应用服务的安全脆弱性进行检测。合规报告:一键获取合规报告,全面掌控安全态势。优势是什么?支持全面:支持的几乎所有公有云,包括:阿里云、腾讯云、华为云、火山引擎、百度云、青云、UCloud、AmazonWebSe
KUR8是一个Kubernetes拓扑结构和Prometheus指标的可视化概览开源工具,只需要使用一个配置文件和RBAC授权的权限直接部署到你的Kubernetes集群中即可。KUR8将在本地启动,让您一目了然地监控Kubernetes集群。功能结构:浏览 Structure 页面可以以轻松查看你的控制平面和工作节点及其所有pod,单击组件可查看有关其元数据、状态和规范的更多详细信息,轻松查找有关从容器到入口的任何内容的镜像ID或IP地址的信息。指标:使用我们精选的指标仪表板一目了然地了解集群的状态。自定义指标:使用我们的自定义指标页面来使用PROMQL自动完成查询想要的任何指标。报
Prometheus是一个开源系统监控和告警工具包,于2016年加入云原生计算基金会,成为继Kubernetes之后的第二个托管项目。本篇文章将结合告警信息来一起了解下如何实现在告警时附带指标趋势图,以便能更好的定位告警原因和发生时间。在告警时附带指标趋势图的难点在Prometheus中提供了三种查看指标出图的方式,分别是EXPRESSIONBROWSERGrafanaConsoletemplates我们通常会更推荐使用Grafana,拥有EXPRESSIONBROWSER的所有能力,同时还支持令人映像深刻的出图效果和友好的使用体验。node内存使用指标趋势图Prometheus支持基于Pro
大家在平常使用docker的时候,可能会遇到这样或者那样的问题,这个时候想排查问题的时候通常需要查看异常日志,这样才可以快速定位问题,从而解决实际的问题。今天就给大家聊聊Docker查看日志的用法,一起来看看吧!其实Docker查看日志的命令也比较简单就是通过dockerlogs命令。1.Dockerlogs命令格式dockerlogs参数容器名/容器id参数说明:--details显示提供给日志的其他详细信息--follow,-f实时跟踪日志输出--since显示自某个timestamp之后的日志大于等于某个时间,或相对时间,如1h就是1h)--tail,-nall从日志末尾显示的行数,默认
Kubernetes为了能更好的支持有状态应用的数据存储问题,除了基本的HostPath和EmptyDir提供的数据持久化方案之外,还提供了PV,PVC和StorageClass资源对象来对存储进行管理。PV的全称是PersistentVolume(持久化卷),是对底层数据存储的抽象,PV由管理员创建、维护以及配置,它和底层的数据存储实现方法有关,比如Ceph,NFS,ClusterFS等,都是通过插件机制完成和共享存储对接。PVC的全称是PersistentVolumeClaim(持久化卷声明),我们可以将PV比喻为接口,里面封装了我们底层的数据存储,PVC就是调用接口实现数据存储操作,PV
服务质量管理在Kubernetes中,Pod是最小的调度单元,所以跟资源和调度相关的属性都是Pod对象的字段,而其中最重要的就是CPU和内存。如下所示:---apiVersion:v1kind:Podmetadata:name:pod-demospec:containers:-name:mywebimage:wordpressimagePullPolicy:IfNotPresentresources:requests:memory:"128Mi"cpu:"250m"limits:memory:"256Mi"cpu:"500m"其中resources就是资源限制部分。注:由于一个Pod里可以定义