Giter VIP home page Giter VIP logo

ansible's Introduction

KubeOperator

开源的轻量级 Kubernetes 发行版

License: Apache License v2 Latest release Stars


KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划、部署和运营生产级别的 Kubernetes 集群。

KubeOperator 提供可视化的 Web UI,支持离线环境,支持物理机、VMware、OpenStack 和 FusionCompute 等 IaaS 平台,支持 x86_64 和 ARM64 架构,已通过 CNCF 的 Kubernetes 软件一致性认证。

KubeOperator 使用 Terraform 在 IaaS 平台上自动创建主机(用户也可以自行准备主机,比如物理机或者虚机),通过 Ansible 完成自动化部署和变更操作,支持 Kubernetes 集群 从 Day 0 规划,到 Day 1 部署,到 Day 2 运营的全生命周期管理。

KubeOperator 的优势

  • 简单易用: 提供可视化的 Web UI,极大降低 K8s 部署和管理门槛;
  • 按需创建: 调用云平台 API,一键快速创建和部署 Kubernetes 集群;
  • 按需伸缩: 快速伸缩 Kubernetes 集群,优化资源使用效率;
  • 按需修补: 快速升级和修补 Kubernetes 集群,并与社区最新版本同步,保证安全性;
  • 离线部署: 支持完全离线下的 K8s 集群部署;
  • 自我修复: 通过重建故障节点确保集群可用性;
  • 全栈监控: 提供从Pod、Node到集群的事件、监控、告警、和日志方案;
  • Multi-AZ 支持: 将 Master 节点分布在不同的故障域上确保集群高可用;

UI 展示

UI展示

功能架构

Architecture

致谢

  • Terraform: KubeOperator 采用 Terraform 来自动创建虚机;
  • Ansible: KubeOperator 采用 Ansible 作为自动化部署工具。

License & Copyright

Copyright (c) 2014-2024 FIT2CLOUD 飞致云

https://www.fit2cloud.com

KubeOperator is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

ansible's People

Contributors

aaron3s avatar blue-troy avatar lvxiaohu avatar ssongliu avatar vpc123 avatar wanghe-fit2cloud avatar zhengkunwang223 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ansible's Issues

node-problem-detector权限不足

由于使用默认serviceaccount,导致无法patch对应resource。以下为node-problem-detector日志

E0815 13:11:48.168571       1 manager.go:162] failed to update node conditions: nodes "xxx" is forbidden: User "system:serviceaccount:kube-system:default" cannot patch resource "nodes/status" in API group "" at the cluster scope

重启后kubelet无法启动

由于swap未关闭导致的kubelet 无法启动问题。

在安装k8s时,playbook使用 swapoff -a 保证了swap处于关闭状态。后续机器重启,swap未处于关闭状态,因此kubelet无法启动。

我看到项目playbook使用了去除/etc/fstab的办法。但是并不是所有swap都是用fstab进行维护。

  1. 根据 archlinux 中提到的,可以利用GPT自动挂载实现不是使用fstab实现自动swap挂载,这个办法是自动扫描分区的类型,删除fstab无法处理这种的问题。
  2. systemd-fstab-generator读取fstab生成包括swap的units,但这不意味着所有的swap unit都是由systemd-fstab-generator生成,我们可以自定义swap unit 实现swap挂载。

以上问题是具体环境中使用遇到的问题。

cri为containerd时,额外安装cni不可用

cni bin_dir 默认目录为 /opt/cni/bin,额外安装的cni会安装到这个目录下.但是目前containerd
config配置

代码

    [plugins.cri.cni]
      bin_dir = "{{ bin_dir }}"
      conf_dir = "/etc/cni/net.d"
      conf_template = ""

cni bin_dir为{{ bin_dir
}},它的值为/usr/local/bin,不符合cni标准.kubeoperator在安装cni如flannel时将flannel
bin同时放在了 /usr/local/bin 以及
/opt/cni/bin,因此cni配置为/usr/local/bin没有问题,但是一旦安装其他第三方cni则将出现问题

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.