Skip to content
/ crane Public template

Kubernetes Deploy Tools。基于 Ansible 部署 Kubernetes Cluster 支持 18 种特定功能 StaticPod 部署模式。

License

Notifications You must be signed in to change notification settings

slzcc/crane

Repository files navigation

Crane

language Wiki

logo

Please refer to the documentation for detailed configuration: Wiki Docs URL

* Crane 通过 [CNCF kubernetes 一致性检测](https://www.cncf.io/certification/software-conformance/)。

* Crane 添加到 [Cilium 用户](https://github.com/cilium/cilium/blob/master/USERS.md) 清单中。

使用 Ansible 基于 staticPodsystemd 方式部署 Kubernetes Cluster(非 Kubeadm), 并支持 Master/Node/Etcd 节点的添加。

systemd 当前版本不支持节点扩容等策略, 建议生产使用选择 staticPod 模式部署。

部署全局基于 TLS, 并区分 K8s Cluster CA、Etcd CA 证书, 并支持证书轮转。

部署时支持半离线(默认)、离线 和 在线 kubernetes 和 CRI 的安装。

CRI 支持多种服务共存部署模式, 可同时部署 docker/containerd, 方便用户自定义 RuntimeClass 运行时。

部署 Crane 时可查看注意事项, 避免无效操作:

部署之前请认真读取可能会发现的问题这其中不包含 Crane 本身的问题. Crane for Kubernetes 使用注意事项

每一个 Release 版本都严格按照 Crane for Github Actions 进行检测, 保证服务的稳定性。

部署说明

默认部署示例请参照 Crane Install 文件进行部署。( Crane 默认属于半离线安装 )

离线部署示例请参照 Crane Offine Install 文件进行部署。

在线部署示例请参照 Crane Online Install 文件进行部署。

各功能示例参照 Crane Other Features 文件进行部署。

kubernetes-addons 参照 kubernetes-addons Install 文件进行部署。


架构

Crane 的架构简述:

|------ Keepalived(Master) or ELB or localIP
|               |
|               |
|       Haproxy(Master) (可移除)
|               |
|               |
|       Kube-ApiServer(Master)

在 Crane 架构中, 可以自由使用 Keepalived 或 ELB, 如果需要使用 Keepalived 则需要事先准备好 VIP 且网络可达, 否则无法正常启动。

使用 Keepalived 一般属于物理环境而 ELB 则属于 Cloud 环境, 请按照需求自行配置。

模拟部署

通过 Kubernetes in Docker 方式测试演练,所有操作都包含在 Docker 镜像中,不会涉及其他环境依赖,方便快捷进行测试。

部署示例请参照 Kube Simple 文件进行部署。


推荐亮点

  • 支持集群后续 Kubernetes Cluster 扩容, 支持添加 Master/None 节点。
  • 支持集群后续 Etcd Cluster 扩容 (只添加节点, 对现有集群无感知)。
  • 支持自定义镜像仓库地址。
  • 支持 kubernetes-addons 等应用部署。
  • 支持自定义 TLS 。
  • 支持 Kubernetes Cluster CA 根证书更新。
  • 支持 Kubernetes Cluster 版本升级。
  • 支持 Etcd Cluster CA 根证书更新。
  • 支持 Ansible in Docker 方式进行部署。
  • 支持 DockerdContainerd 离线安装。
  • 支持 Kubernetes 离线安装。
  • 支持 DockerdContainerdCRIO 的容器运行环境部署。
  • 支持新建 Etcd 集群并支持恢复。
  • 支持 Systemd 方式部署 k8s, etcd 并支持离线安装。
  • 支持非 haproxy 模式下部署, 以及对其解耦合。

安装过程示例

通过Kube Simple 部署演练安装过程.

asciicast

如有不明请参照 Kube Simple 文档进行补充.

使用 GoogleCloud 4C 8GB 单节点部署无任何干预初始化安装最高耗时 7m13.958s 如有镜像安装包最高耗时 2m4.153s, 如多节点安装需要增加推送安装包耗时.