Git Product home page Git Product logo

slzcc / crane Goto Github PK

View Code? Open in Web Editor NEW
65.0 3.0 24.0 6.85 MB

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

Home Page: https://wiki.shileizcc.com/confluence/display/CASE/Ansible+Kubernetes+Cluster

License: Mozilla Public License 2.0

Shell 3.60% Dockerfile 0.02% Makefile 1.28% Jinja 95.10%
docker kubernetes ansible calico etcd k8s amd64 arm64 cilium containerd

crane's Introduction

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, 如多节点安装需要增加推送安装包耗时.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.