Code Monkey home page Code Monkey logo

deployk8s's Introduction

deployk8s

  • 有问题可以去dockone.io提问,也可以直接提issue
  • 本人从事容器编排方面工作,本项目算是一些小笔记。内容包括热门的kubernetes、mesos编排工具及其周边的网络、存储、监控等方案(ps: 仅供参考,对刚入门的小伙伴来说难度可能稍大。示例yaml文件优先).

部署说明文档

注意事项

做高可用必须保证master节点为2个及其以上,推荐3个节点
文档分为六个部分

  1. 基础镜像和环境准备
  2. master 节点部署
  3. 使用haproxy负载减轻单个kube-apiserver压力,并使用keepalived保证高可用
  4. agent节点部署
  5. 增强插件部署
  6. 网络方案部署

目录结构说明

#####Attentions:

  • 版本说明: 操作系统为centos 7.2,docker 版本为1.10+(目前1.12.6),kubernetes原本为1.4.6,后kubernetes核心组件升级到1.5.1,但是插件没有更新。
  • 对于kubernetes及其周边组件,我的原则是: 能容器化的一定不直接跑宿主机,能通过应用方式部署的绝对不跑static pod
    • 表示需要关注
    • 表示不需要关注
  • /addons 包含kubernetes一些插件,大都以deployment/replication方式部署
    • /dashboard kubernetes官方提供的dashboard
    • /dns kubernetes官方提供的dns插件
    • /haconfd haproxy + confd 用来做应用外部访问,原理类似ingress,目前只能通过static pod方式部署,路由规则模板需要手工配置
    • /ingress kubernetes 中应用外部访问的另一种方式,具体请参考官方文档
    • /prometheus prometheus 是一个流行的监控告警工具,与kubernetes同属CNCF基金会
  • /base base 目录包含kubernetes及其高可用方案核心组件
    • /agent kubernetes agent节点服务,包含kubelet(systemd service)和kube-proxy(static pod)
    • /haka haproxy + keepalived(systemd service) kube-apiserver高可用关键组件
    • /master kubernetes master 节点服务,包含kubelet(systemd service)和etcd/kube-apiserver/kube-controller-manager/kube-scheduler(static pod)
    • /config.yaml 需要镜像删除时,registry配置文件
    • /docker.service docker(systemd service)公共基础服务配置示例
    • /k8s-log.cron 日志处理定时脚本
    • /tools.sh 镜像仓库操作脚本
  • /doc
  • /images
  • /network kubernetes中可选的容器网络方案
    • /calico  calico 网络方案,部署方式为daemonset,默认ippool开启了IPIP[ps: 推荐使用]
    • /flannel flannel网络方案,部署方式为static pod(部署成功后请使用restart_docker.sh脚本重启docker)(ps: 正考虑用daemonset部署)
  • /storage kubernetes中可选的容器存储方案
    • /rbd kubernetes 与ceph rbd对接示例文件(ps: yaml文件优先)

生产高可用kubernetes组件架构图

Architecture

deployk8s's People

Contributors

xwisen avatar

Watchers

 avatar

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.