1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Kubernetes v1.2 进展 下载

本帖由 漂亮的石头2016-02-14 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    485,189
    赞:
    46
    Tim Hockin在最近一次的Bay Area Kubernetes Meetup #5上分享了即将发布的v1.2的新增特性以及后续的计划[1]。

    1
    External Services


    Kubernetes已经提供了三种类型的Service:


    • ClusterIP: 为服务分配虚拟地址,且该地址仅在cluster内部可访问


    • NodePort: 在ClusterIP基础上将服务绑定到主机的指定端口上


    • LoadBalancer: 在NodePort基础上调用cloud provider创建负载均衡器

    然而,有的时候,Pod需要访问Kubernetes外部的一些服务(比如已有的数据库服务等),这个时候怎么办呢?当然就是External Service了。

    External Service的创建也比较简单:


    • 创建一个不带Selector的Service


    • 创建与Service同名的Endpoint,并在Endpoint中指定外部服务的IP和端口。

    2
    Ingress (L7)


    Ingress[2]的引入是为了解决Service的两个问题:


    • Services面向的是L3/L4,然而很多服务都是L7的


    • Service分配的虚拟IP只能在Cluster内部访问

    有了Ingress,你就可以很方便的创建基于HTTP/HTTPS的负载均衡了。但是注意要自己部署并启动Ingress Controller(通常部署为Kubernetes的一个Pod)。Ingress Controller主要要实现三个功能:


    • 监控Ingress变化


    • 为Ingress分配IP


    • 为Ingress作负载均衡

    Status:BETA in v1.2

    3
    ConfigMaps


    在容器中,应用的配置通常都是通过volume或者环境变量实现,但他们的一大缺点就是配置变更比较麻烦。ConfigMaps就是来解决应用的配置问题,使得这些配置可以通过API来管理,并以Volume或者环境变量的方式自动更新到Pod中。

    Status: GA in v1.2

    4
    Deployments


    Deployments引入是为了集中管理RC的变化,并在server-side实现(RC是client-side的)。通过kubectl edit或者kubectl apply可以更方便的管理。

    Status: BETA in v1.2

    5
    Jobs


    Jobs为了解决批处理和大数据处理的应用中run-to-completion的问题。

    Status: GA in v1.2

    6
    HorizontalPodAutoscalers


    RC和deployments仅仅保证了服务的状态是可用的(保证Pod的个数),但未考虑Pod的实际资源使用情况。HorizontalPodAutoscalers可以根据资源的使用情况(当前仅实现了CPU利用率)对Pod自动伸缩。

    Status: GA in v1.2

    7
    DaemonSets


    DaemonSets可以保证Pod在每个node(或选定的nodes)上只有一个实例。

    DaemonSets的一个典型用例是cAdvisor,在每个node上只需要启动一个就可以了。

    Status: BETA in v1.2

    8
    PersistentVolumes


    在v1.2中,PersistentVolumes增加了auto-provisioning特性(alpha)。

    9
    Network Plugins


    CNI是推荐的network plugin

    10
    近期的计划


    还有一些正在做但不会在v1.2中包括的feature:


    • Cron (scheduled jobs)


    • Custom metrics


    • “Apply” a config (even more declarative)


    • Interactive containers


    • Bandwidth shaping


    • Third-party API objects


    • Scalability: 1000 nodes, 100+ pods/node


    • Performance


    • Machine-generated Go clients (less deps!)


    • Volume usage stats


    • Multi-zone (AZ) support


    • Multi-scheduler support


    • Node affinity and anti-affinity


    • Multi-cluster federation


    • API federation


    • More volume types


    • Private Docker registry


    • External DNS integration


    • Volume classes and auto-provisioning


    • Node fencing


    • DiY Cloud Provider plugins


    • More container runtimes (e.g. Hyper)


    • Better auth{n,z}


    • Network policy (microsegmentation) [3]


    • Big data integrations


    • Device scheduling (e.g. GPUs)

    参考连接:

    [1] https://speakerdeck.com/thockin/news-from-the-front-v1-dot-2

    [2] https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/ingress.md

    [3] https://docs.google.com/document/d/1_w77-zG_Xj0zYvEMfQZTQ-wPP4kXkpGD8smVtW_qqWM/edit

    稿源:云计算微信号
    Kubernetes v1.2 进展下载地址
     
正在加载...