📋
k8s use handbook
  • 概述
  • 1. kuberbetes应用接入准则篇
    • 1.1 git分支管理规范
    • 1.2 接入elk字段格式以及约定
    • 1.3 健康检测接口规范
    • 1.4 项目命名规范
  • 2. kubernetes集群部署篇
    • 2.0 kubernetes手动安装概览
      • 201 创建跟证书和秘钥
      • 202 ETCD集群部署及维护
      • 203 kubectl部署以及基本使用
      • 204 Master节点部署及维护
        • 2041 kube-apiserver
        • 2042 kube-scheduler
        • 2043 kube-controller-manager
      • 205 Node节点部署及维护
        • 2051 Flannel部署及维护
        • 2052 kubernetes runtime部署及维护
        • 2053 kubelet
        • 2054 kube-proxy
    • 2.1 kubernetes ansible安装
    • 2.2 kubernetes kubeadm安装
    • 2.3 kubernetes 组件安装
      • 231 coredns
      • 232 kube-dashboard
  • 3. kubernetes权限控制篇
    • 认证
    • 授权
    • 准入机制
  • 4. what happens when k8s .....
    • Kubernetes使用什么方法方法来检查应用程序的运行状况?
    • 如何优雅的关闭pod?
    • TLS bootstrapping 是如何工作的?
    • 怎么编辑kubernetes的yaml文件以及kubernetes的控制是什么样的?
    • deployment如何使用不同的策略部署我们的程序?
    • Kubernetes 如何接收请求,又是如何将结果返回至客户端的?
    • Kubernetes 的调度流程是怎样的?
    • Kubelet 是如何接受调度请求并启动容器的?
    • Kube-proxy 的作用,提供的能力是什么?
    • Kubernetes 控制器是如何工作的?
    • ingress-service-deployment如何关联的?
    • 如何指定pod的运行节点?
    • Https 的通信过程?
  • 5. kubernetes私有仓库篇
  • 6. kubernetes CI/CD篇
    • 5. kubernetes cicd发布流水线
  • 6. kubernetes日志系统篇
    • 6.1 elk使用规范和指南
    • 6.2 kibana搜索简易指南
    • 6.3 基于es api进行查询的注意事项
    • 6.4 集群部署
      • 6.4.1 es规划
        • 索引的生命周期
      • 6.4.2 安装
      • 6.4.3 elasticsearch配置
      • 6.4.4 logstash配置
      • 6.4.5 kibana配置
      • 6.4.6 enable-xpack
        • 6.4.6.1 X-Pack on Elasticsearch
        • 6.4.6.2 X-Pack on Logstash
        • 6.4.6.3 X-Pack on Kibana
        • 6.4.6.4 xpack破解
        • 6.4.6.5 LDAP user authentication
      • 6.4.7 Cerebro configuration
      • 6.4.8 Curator configuration
    • 6.10 备份恢复
  • 7.0 kuberbetes服务暴露Ingress篇
    • 7.1 Ingress规划
    • 7.2 Traefik ingress controller
      • 7.2.1 Traefik配置详解
      • 7.2.2 Traefik部署
      • 7.2.3 分场景使用示例
      • 7.2.4 Traefik功能示例
      • 7.2.5 Traefik日志收集
      • 7.2.6 https证书更新
    • 7.3 Nginx ingress controller
      • 7.3.1 Nginx 配置详解
      • 7.3.2 Nginx 部署
      • 7.3.3 使用示例
    • 7.4 ingress日常运维
  • 8.0 kubernetes监控篇
    • 8.1 prometheus非k8s部署
    • 8.2 prometheusk8s部署
    • 8.3 prometheus 配置文件详解
    • 8.3 prometheus alertmanager
  • 9.0 kubernetes配置管理篇
  • 10.0 权威DNS篇
    • 10.1 PowerDNS安装部署
    • 10.1 PowerDNS zone设置
由 GitBook 提供支持
在本页
  • 01.集群架构
  • 0101.高可用集群设计
  • 0102.核心组件的关系
  • 02.部署环境介绍
  • kubernetes Master Node
  • kubernetes Worker Node
  • 集群主机信息以及部署软件规划
  • 03.主要组件及部署信息
  • 04.安装步骤
  • 参考

这有帮助吗?

  1. 2. kubernetes集群部署篇

2.0 kubernetes手动安装概览

上一页2. kubernetes集群部署篇下一页201 创建跟证书和秘钥

最后更新于5年前

这有帮助吗?

本文选择安装kubernetes最新的稳定版本

01.集群架构

0101.高可用集群设计

设计集群架构时我们需要考虑如下几个问题:

  • 整个集群的主要构成元素为服务器组。一组服务器具有相同的硬件配置,服务相同的功能,在软件配置上也基本相同。这样为服务器的自动化管理打下了很好的基础。

  • 由3台服务器组成的etcd集群,在其中任何一台服务器离线时,均可以正常工作。为整个Kubernetes集群的数据持久化保存提供了稳定可靠的基础

  • 3台同时运行着Kubernetes核心组件kube-apiserver,kube-controller-manager,kube-scheduler的服务器,为整个集群的控制平面提供了高可用性。

  • 多个运行节点服务器组,有着不同的CPU,内存,磁盘配置。让我们可以灵活的根据业务对运行环境的要求来选择不同的服务器组。

集群的架构如下如分为3个服务器群组,其中master node上部署apiserver scheduler controller management etcd

0102.核心组件的关系

通过图解我们可以得出k8s中最重要的组件是etcd和kube-apiserver, 其中etcd作为k8s存储信息库, API Server提供所有组件的API访问接口

02.部署环境介绍

kubernetes Master Node

kube-apiserver kube-scheduler kube-controller-manager 目前这三个组件需要部署在同一台机器上。

  • kube-scheduler kube-controller-manager kube-apiserver 三者的功能紧密相关;

  • 同时只能有一个 kube-scheduler、kube-controller-manager 进程处于工作状态,如果运行多个,则需要通过选举产生一个 leader;

本文档记录部署一个三个节点的高可用 kubernetes master 集群步骤。

kubernetes Worker Node

kubelet kube-proxy 需要部署在同一台机器上

集群主机信息以及部署软件规划

IP

备注

10.40.61.116

etcd,kube-apiserver,kube-controller-manager,kubelet,kube-proxy,kube-scheduler

10.40.58.153

etcd,kube-apiserver,kube-controller-manager,kubelet,kube-proxy,kube-scheduler

10.40.58.154

etcd,kube-apiserver,kube-controller-manager,kubelet,kube-proxy,kube-scheduler

03.主要组件及部署信息

Kubernetes 部署的版本信息:

  • Kubernetes: v1.18.0

  • Etcd: v3.4.6

  • Docker: v19.03.8-ce

  • Flannel: v0.12.0

Kubernetes 部署的信息:

  • Cluster IP CIDR: 10.243.0.0/16 #集群中pod分配网段

  • Service Cluster IP CIDR: 10.244.0.0/16 #集群中service分配网断

  • Service DNS IP: 10.244.0.10

  • DNS: cluster.local

  • Kubernetes API VIP: apiserver-p001.svc.gxd88.cn

  • Etcd Cluster IP: https://10.40.61.116:2380,https://10.40.58.153:2380,https://10.40.58.154:2380

04.安装步骤

参考

2.1 创建跟证书和秘钥
2.2 ETCD集群部署及维护
2.3 kubectl部署以及基本使用
2.4 Master节点部署及维护
2.4.1 kube-apiserver
2.4.2 kube-scheduler
2.4.3 kube-controller-manager
2.5 Node节点部署及维护
2.5.1 Flannel部署及维护
2.5.2 kubernetes runtime部署及维护
2.5.3 kubelet
2.5.4 kube-proxy
jimmysong.io
caicloud
https://k8s-install.opsnull.com/
kubernetes-the-hard-way
kubernetes-cluster-architecture