zoukankan      html  css  js  c++  java
  • Kubernetes介绍

    Kubernetes是什么及作用
    Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。
    Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 官网地址
    https://Kubernetes.io
    中文社区 https://www.kubernetes.org.cn/docs
    播客多个运行着docker容器的主机集群。 官网地址 高效,Kubernetes一个核心特点就是能够自主的ubernetes相关特性: 不会牺牲可用性,混合关键和最大努力的工作负载,情况自动调整应用程序副本数。 Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes证云平台中的容器按照用户的期望运行。以下是Kubernetes相关特性:
     

    自动包装
    根据资源需求和其他约束自动放置容器,同时不会牺牲可用性,混合关键和最大努力的工作负载,以提高资
    源利用率并节省更多资源。

    横向缩放
    使用简单的命令或 UI,或者根据 CPU 的使用情况自动调整应用程序副本数

    自动部署和回滚
    Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有
    实例。 如果出现问题,Kubernetes会为您恢复更改,利用日益增长的部署解决方案的生态系统。

    存储编排
    自动安装您所选择的存储系统,无论是本地存储,如公有云提供商 GCP 或 AWS , 还是网络存储系统 NFS,
    iSCSI, Gluster, Ceph, Cinder, 或 Flocker

    自我修复
    重新启动失败的容器,在节点不可用时,替换和重新编排节点上的容器,终止不对用户定义的健康检查做出
    响应的容器,并且不会在客户端准备投放之前将其通告给客户端。

    服务发现和负载均衡
    不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容
    器的单个 DNS 名称,并可以在它们之间进行负载均衡。

    密钥和配置管理
    部署和更新密钥和应用程序配置,不会重新编译您的镜像,不会在堆栈配置中暴露密钥(secrets)。

    批处理
    除了服务之外,Kubernetes还可以管理您的批处理和 CI 工作负载,如果需要,替换出现故障的容器。

    使用Kubernetes能做什么

    Kubernetes 是一个全新的基于容器技术的分布式架构领先方案(源于Brog,是google十几年经验的结晶);
    Kubernetes是一个开放的开发平台(无侵入性,现有系统很容器迁移到Kubernetes上);Kubernetes是一个完备
    的分布式系统支撑平台(完善的集群管理能力)。
    使用Kubernetes可以在物理或虚拟机的Kubernetes集群上运行容器化应用,Kubernetes能够提供一个以容器为中
    心的基础架构,满足在生产环境中运行应用的一些常见需求,如:

    多个进程协同工作
    存储系统挂载
    Distributing secrets
    应用健康检测
    应用实例的复制
    Pod 自动伸缩/扩展
    Naming and discovering
    负载均衡
    滚动更新
    资源监控
    日志访问
    调度应用程序
    提供认证和授权

    为什么使用Kubernetes
    使用Kubernetes最直接的感受就是我们可以轻装上阵的开发复杂的系统了;其次Kubernetes是在全面拥抱微服务
    架构(微服务的核心就是将一个巨大的单体应用拆分成很多小的互相连接的微服务,一个微服务后面可能是多个实
    例副本在支撑,副本数量可以随着系统负荷的变化而动态调整);最后Kubernetes系统架构具备超强的横向扩展
    能力

    1.1.2 Kubernetes快速入门

    关闭 CentOS防火墙

    systemctl disable firewalld
    systemctl stop firewalld

    安装etcd 和Kubernetes 软件

    启动服务

    systemctl start etcd 

    systemctl start docker

    systemctl restart kube-apiserver
    systemctl restart kube-controller-manager
    systemctl restart kube-scheduler
    systemctl restart kubelet
    systemctl restart kube-proxy

    解决方案2

    docker pull kubernetes/pause

  • 相关阅读:
    一些你可能用到的代码
    iOS 键盘下去的方法
    iOS设计模式汇总
    随笔
    Spring cloud config 分布式配置中心 (三) 总结
    Spring cloud config 分布式配置中心(二) 客户端
    Spring cloud config 分布式配置中心(一) 服务端
    jdbcUrl is required with driverClassName spring boot 2.0版本
    JpaRepository接口找不到 spring boot 项目
    解决IntelliJ “Initialization failed for 'https://start.spring.io'
  • 原文地址:https://www.cnblogs.com/jacksonxiao/p/11299394.html
Copyright © 2011-2022 走看看