Kubernetes/2.Kubernetes基础和部署说明

Kubernetes基础和部署说明

本章节首先就基础组件、集群基础对象和控制器进行了详细的介绍和说明,然后辨析了集群网络中的三种网络和专有名词,最后关于新手部署测试和生产环境的部署要点进行了归纳说明。

  • 基础组件
  • 基础对象(Objects)
  • 控制器
  • 集群网络
  • 部署要点
  • 备注

基础组件

如图所示,kubernetes集群中主要分为三个组件:

Master Components

  • kube-apiserver:作为k8s控制平面的前端,也是所有请求接收的入口
  • etcd:k8s集群后端所有集群数据的高可用k/v存储数据库
  • kube-scheduler:监听变更请求,然后通过一系列filtering、scoring策略,调度pod运行
  • kube-controller-manager:一个独立的进程,通过合解循环,将期望态和运行态保持一致
  • cloud-controller-manager:kubernetes与云厂商提供的服务能力对接的关键组件。又称kubernetes cloudprovider。 通过这个组件,可以让用户在创建k8s LoadBalancer 类型的service的时候自动的为用户创建一个阿里云SLB,同时动态的绑定与解绑SLB后端,并且提供了丰富的配置允许用户自定义生成的LoadBalancer。

Node Components

  • kubelet:每个node节点的k8s客户端,用于确保pod的运行
  • kube-proxy:确保k8s服务间连接和转发的组件
  • Container Runtime:运行容器的软件,常见的有:Docker, rkt等

Addons(附加组件)

  • DNS: 常用的有CoreDNS
  • CNI (flannel, calico, ...) #网络插件接口,我们后面会讲
  • Web UI (Dashboard)
  • Container Resource Monitoring
  • Cluster-level Logging
  • ...

基础对象(Objects)

除了上面提到的基础组件之外,kubernetes还提供了丰富的基础对象(Objects),如:

Pod、service、NameSpace和Volume

控制器

另外,kubernetes还包含了更高一层的抽象,称之为控制器(Controllers)。
控制器建立在基础对象之上,并提供了额外、丰富且方便的功能,他们包括:

ReplicaSet、Deployment、DaemonSet、StatefulSet、Job等

集群网络

如图所示,kubernetes集群可分为三种网络:节点网络、Pod网络和Service网路。

node ip:
    配置在节点的网卡上

pod ip:
    配置在容器的虚拟网卡上

service ip(cluster ip):
    不进行配置,只存在于iptables和DNS的解析记录中

部署要点

测试环境:
    可以使用单Master节点,单etcd实例
    Node节点按需配置
    Nfs或glusterfs

生产环境:
    高可用etcd集群(需定期备份),建立3、5或7个节点
    高可用Master:
        kube-apiserver无状态,可多实例部署:
            借助于Haproxy、nginx或keepalived进行vip流量实现多实例冗余
        kuber-scheduler和kuber-controller-manager:
            只能有一个活动实例,但可以有多个备用(主备模式)

    多Node主机,数量越多,冗余能力越强;
    Ceph、glusterfs、iSCSI、FC SAN及各种云存储等。

备注

本文原址位于我的Github,我会陆续将所有专题更新过来,其中包括docker、k8s、ceph、istio和prometheus,旨在分享云原生中大而全的技术知识点和实操过程,如果对你有用,请follow、star我的github,这也是我更新、分享下去的动力,谢谢~

原文地址:https://blog.51cto.com/qishiding/2462734

时间: 2024-10-11 03:05:49

Kubernetes/2.Kubernetes基础和部署说明的相关文章

通过Rancher部署并扩容Kubernetes集群基础篇二

接上一篇通过Rancher部署并扩容Kubernetes集群基础篇一 7. 使用ConfigMap配置redis https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/configmap/redis/redis-config redis-config maxmemory 2mb     maxmemory-policy allkeys-lru # kubectl create configma

Kubernetes集群的安装部署

此文参照https://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html,并根据实操过程略作修改. 1.环境介绍及准备: 1.1 物理机操作系统 物理机操作系统采用Centos7.3 64位,细节如下. [[email protected] ~]# uname -aLinux k8s-master 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64

Kubernetes 第一章 基础知识

Kubernetes 第一章 基础知识 Kubernetes是一个开源容器编排引擎,用于自动化容器化应用程序的部署,扩展和管理.开源项目由Cloud Native Computing Foundation(CNCF)托管. Kubernetes是一个可移植,可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明性配置和自动化.它拥有庞大,快速发展的生态系统.Kubernetes服务,具有广泛的工具和支持可用. 发展历程 传统部署时代: 早期,组织在物理服务器上运行应用程序.无法为物理服务器中

kubernetes 集群的安装部署

本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 首先kubernetes得官方文档我自己看着很乱,信息很少,所以结合了很多博客搭建的 其次因为既然用到docker,当然离不开kubernetes管理,还有swarm,前者管理复杂,但功能齐全 这里仅仅是安装部署,还未使用,具体使用出现问题后续更新 前提条件 系统时centos7上 关闭防火墙 systemctl stop firewalld.service

Kubernetes(K8s)安装部署过程(一)--证书安装

一.安装前主题环境准备 1.docker安装 建议使用官网yum源安装,添加yum源之后,直接yum install docker即可 2.关闭所有节点的selinux 最好修改配置文件为disabled,而不是临时更改,避免以后重启引起不必要的麻烦 3.安装私有仓库环境Harbor 具体安装过程参考我的博客:http://www.cnblogs.com/netsa/p/8124708.html 二.安装预览 安装过程参考https://jimmysong.io/kubernetes-handb

kubernetes 1.10.1 版本 部署

kubernetes组件 Master组件: kube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交 kube-controller-manager 处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的. kube-scheduler 根据调度算法为新创建的Pod选择一个Node节点. Node组件: ku

kubernetes系列03—kubeadm安装部署K8S集群

1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm 安装kubernetes(本文演示的就是此方法) 优点:你只要安装kubeadm即可:kubeadm会帮你自动部署安装K8S集群:如:初始化K8S集群.配置各个插件的证书认证.部署集群网络等.安装简易. 缺点:不是自己一步一步安装,可能对K8S的理解不会那么深:并且有那一部分有问题,自己不好修正. 1.3.2 方法2:二进制安装部署k

Kubernetes(K8s)安装部署过程(三)--创建高可用etcd集群

这里的etcd集群复用我们测试的3个节点,3个node都要安装并启动,注意修改配置文件 1.TLS认证文件分发:etcd集群认证用,除了本机有,分发到其他node节点 scp ca.pem kubernetes-key.pem kubernetes.pem [email protected]10.10.90.106:/etc/kubernetes/ssl scp ca.pem kubernetes-key.pem kubernetes.pem [email protected]10.10.90.

Kubernetes(K8s)安装部署过程(四)--Master节点安装

再次明确下架构:  三台虚拟机 centos 7.4系统,docker为17版本,ip为10.10.90.105到107,其中105位master,接下来的master相关组件安装到此机器上. etcd集群为3台,分别复用这3台虚拟机. 作为k8s的核心,master节点主要包含三个组件,分别是: 三个组件:kube-apiserver kube-scheduler kube-controller-manager 这个三个组件密切联系 1.创建TLS证书 这些证书我们在第一篇文章中已经创建,共8