安装 snapshot 控制器
k8s 1.19 版本以上需要单独安装 snapshot 控制器,才能完成 pvc 的快照功能,所以在此提前安装下,如果是1.19以下版本,不需要单独安装;
项目地址: external-snapshotter
卷快照功能取决于卷快照控制器和卷快照 CRD。卷快照控制器和 CRD 都独立于任何 CSI 驱动程序。无论集群上部署了多少 CSI 驱动程序,每个集群都必须只运行一个卷快照控制器实例和一组卷快照 CRD。
more >>生如蝼蚁当立鸿鹄之志, 命如薄纸应有不屈之心!
k8s 1.19 版本以上需要单独安装 snapshot 控制器,才能完成 pvc 的快照功能,所以在此提前安装下,如果是1.19以下版本,不需要单独安装;
项目地址: external-snapshotter
卷快照功能取决于卷快照控制器和卷快照 CRD。卷快照控制器和 CRD 都独立于任何 CSI 驱动程序。无论集群上部署了多少 CSI 驱动程序,每个集群都必须只运行一个卷快照控制器实例和一组卷快照 CRD。
more >>ETCD 是用于共享配置和服务发现的分布式,一致性的 KV 存储系统。ETCD 是CoreOS 公司发起的一个开源项目,授权协议为 Apache。
ETCD 是 k8s 集群极为重要的一块服务,存储了集群所有的数据信息。同理,如果发生灾难或者 etcd 的数据丢失,都会影响集群数据的恢复。
查看 etcd 集群状态
1 | export ETCDCTL_API=3 |
本文章将演示如何使用二进制方式部署 k8s 高可用集群,这里部署的 kubernetes 版本为 1.25.x。本次部署使用 5 台虚拟机,系统版本为 CentOS 7.9,分别为 3台 Master,2台 Node。集群相关配置如下
参考课程:Kubernetes 全站架构师
Kubernetes 提供了一种更加简单的更新 RC 和 Pod 的机制,叫做 Deployment。通过在 Deployment 中描述期望的集群状态,Deployment Controller 会将现在的集群状态在一个可控的速度下逐步更新成期望的集群状态。Deployment 过程如下图所示:
more >>参考文档
Kubernetes 中使用了大量的证书,本文不会试图覆盖到所有可能使用到的证书,但会讨论到主要的证书。理解了这些证书的使用方法和原理后,也能很快理解其他可能遇到的证书文件。二进制 kubernetes 中各个组件证书的默认过期时间为: 根证书 ca.pem(10年),其他的客户端证书为 1年
more >>官方原始文件使用的是 deployment,replicate 为 1,这样将会在某一台节点上启动对应的 nginx-ingress-controller pod。外部流量访问至该节点,由该节点负载分担至内部的service。考虑到单点故障的问题,改为 DaemonSet,配合亲和性部署在指定节点上启动 nginx-ingress-controller pod,确保有多个节点启动nginx-ingress-controller pod,生产环境中建议 ingress 节点打上污点不允许业务pod进行调度,以避免业务应用与 Ingress 服务发生资源争抢。后续将这些节点加入到外部硬件负载均衡组实现高可用性。
参考文章: Kubernetes-Ingress
more >>参考文档: Kubernetes版本升级实践
Kubernetes 版本表示为 x.y.z,其中 x 是主要版本,y 是次要版本,z 是补丁版本,遵循语义版本控制术语。有关更多信息,请参阅 Kubernetes 发布版本。
k8s 发行版与 github 分支的关系
简单来讲,kubernetes 项目存在3类分支(branch),分别为 master, release-X.Y, release-X.Y.Z。master 分支上的代码是最新的,每隔2周会生成一个发布版本(release),由新到旧以此为 master–>alpha–>beta–>Final release,这当中存在一些 cherrypicking 的规则,也就是说从一个分支上挑选一些必要 pull request 应用到另一个分支上。我们可以认为 X.Y.0 为稳定的版本,这个版本号意味着一个 Final release。一个 X.Y.0 版本会在 X.(Y-1).0 版本的3到4个月后出现。 X.Y.Z 为经过 cherrypick 后解决了必须的安全性漏洞、以及影响大量用户的无法解决的问题的补丁版本。 总体而言,我们一般关心 X.Y.0 (稳定版本),和 X.Y.Z(补丁版本) 的特性。
原始脚本地址:bootstrap-salt
1 | #!/bin/sh - |
1 | # 克隆 pyenv 仓库到本地 |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true