Prometheus简介


Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。

阅读全文 »

Harbor支持通过Docker compose和Helm Chart进行部署,本文主要介绍使用Helm在Kubernetes集群上安装Harbor的方法,并且官方提供了对应的Helm Chart。

Harbor简介


Harbor是一个开源的可信云原生注册表项目,用于存储、签名和扫描内容。Harbor通过添加用户通常需要的功能(例如安全性、身份和管理)来扩展了开源Docker Distribution。拥有更接近构建和运行环境的注册表可以提高图像传输效率。 Harbor支持在注册中心之间复制镜像,还提供高级安全功能,例如用户管理、访问控制和活动审计。

阅读全文 »

众所周知,Kubernetes每隔3个月就会发布一个版本,虽然在2021年7月20日Kubernetes官博宣布,将版本发布周期由每年4次调整为每年3次,但每年3个版本的发布同样意味着更多功能特性的来临,如果一直不更新,势必会导致许多新功能无法使用。因此,如何对Kubernetes集群进行升级是每个Kubernetes用户均需面临的一个问题。目前比较流行的Kubernetes集群部署方式分为kubeadm部署二进制部署,本文主要介绍如何将kubeadm方式部署的Kubernetes集群进行升级。(以1.20.X升级至1.21.X为例)

阅读全文 »

etcd简介


etcd是用于共享配置和服务发现的分布式,一致性的KV存储系统。etcd是CoreOS公司发起的一个开源项目,授权协议为Apache。

说明
目前etcd在Kubernetes中主要用于存储所有需要持久化的数据,本文主要针对Kubernetes使用etcd的场景,介绍etcd常用命令,以及如何对etcd进行备份与还原,以保证Kubernetes集群的稳定运行。

阅读全文 »

服务器硬件配置推荐


Mater节点

  • 物理机虚拟机均可,至少1台,高可用集群至少2台(etcd集群必须奇数台)
  • 推荐配置:实验环境2核2G、测试环境2核4G、生产环境8核16G
  • 关闭所有swap分区或不划分swap分区
阅读全文 »

Kubernetes集群为Jenkins添加了一个新的自动化层。由Kubernetes来确保资源得到有效利用,并且服务器和基础架构不会过载。Kubernetes协调容器部署的能力可确保Jenkins始终拥有适量的可用资源。

先决条件


  • 一套可用的Kubernetes集群,测试环境可使用minikube
  • Kubernetes可提供持久化存储的能力,测试环境可使用NFS提供
阅读全文 »

为何要弃用Docker


https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md

在Kuberntes平台中,为了解决与容器运行时(例如Docker)集成问题,在早期社区推出CRI(Container Runtime Interface,容器运行时接口),以支持更多的容器运行时。而Docker本身并不支持CRI(容器运行时接口)这一Kubernetes运行时API,Kubernetes用户一直以来所使用的其实是名为“dockershim”的桥接服务。Dockershim能够转换Docker API与CRI,但在后续版本当中,Kubernetes将不再提供这项桥接服务。

阅读全文 »

环境要求


Master节点

  • 物理机虚拟机均可,至少1台,高可用集群至少2台(etcd集群必须奇数台)
  • 推荐配置:实验环境2核2G、测试环境2核4G、生产环境8核16G
  • 关闭所有swap分区或不划分swap分区
阅读全文 »

说明
本文参考360资深运维工程师李振良老师的《Kubernetes/K8S架构师实战训练营【中级班】》视频课程总结而成。部分内容和图片均来自于视频课程中。

在正式进行部署之前先了解下关于Kubernetes的几个核心知识点

Kubernetes是什么


  • Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。
  • Kubernetes用于容器化应用程序的部署、扩展和管理
  • Kubernetes提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。
  • Kubernetes目标是让部署容器化应用简单高效
阅读全文 »
0%