Wonderingkaho's Blog.

Wonderingkaho's Blog.

No Pain No Gain

The installation of Moonlight (OMR)
An experimental optical music recognition engine.Moonlight reads PNG image(s) containing sheet music and outputs MusicXML or a NoteSequence message. MusicXML is a standard sheet music interchange format, and NoteSequence is used by Magenta for training generative music models. Command-Line Usage1...
Concept of Kubernetes Service
通过以前的学习,我们已经能够通过ReplicaSet来创建一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题: Pod IP仅仅是集群内可见的虚拟IP,外部无法访问。 Pod IP会随着Pod的销毁而消失,当ReplicaSet对Pod进行动态伸缩时,Pod IP可能随时随地都会变化,这样对于我们访问这个服务带来了难度。 因此,Kubernetes中的Service对象就是解决以上问题的核心关键。 Service的创建Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和...
Concept of Kubernetes Pod
Pod是Kubernetes调度的最小单元。一个Pod可以包含一个或多个容器,因此它可以被看作是内部容器的逻辑宿主机。Pod的设计理念是为了支持多个容器在一个Pod中共享网络和文件系统。因此处于一个Pod中的多个容器共享以下资源: PID命名空间:Pod中不同的应用程序可以看到其他应用程序的进程ID。 network命名空间:Pod中多个容器处于同一个网络命名空间,因此能够访问的IP和端口范围都是相同的。也可以通过localhost相互访问。 IPC命名空间:Pod中的多个容器共享Inner-process Communication命名空间,因此可以通过SystemV IPC或P...
Concept of k8s ConJob
CronJob顾名思义,是一种能够在固定时间运行的Job对象。它使用Linux系统上的定时任务Cron的语法来定义这个Job的固定运行时间。 CronJob格式Minutes Hours DayofMonth Month DayofWeek Yea 支持 “, - * / “四个字符, *:表示匹配任意值,如果在Minutes 中使用,表示每分钟 /: 表示起始时间开始触发,然后每隔固定时间触发一次, 例如在Minutes 设置的是5/20,则表示第一次触发是在第5min时,接下来每20min触发一次, 即,第25min,45...
Concept of kubernetes Job
学习本节内容之前,希望你已经对Pod和ReplicaSet有了基本的了解。具体请参考这两篇文章: Concept of Kubernetes Pod Concept of Kubernetes ReplicaSet Job对象通常用于运行那些仅需要执行一次的任务(例如数据库迁移,批处理脚本等等)。通过Job对象创建运行的Pod具有高可靠性,因为Job Controller会自动重启运行失败的Pod(例如Pod所在Node重启或宕机)。 Job的本质是确保一个或多个Pod健康地运行直至运行完毕。 创建一个Job对象下面是创建一个Job对象的例子,这个Job对象会启动一个Pod,用于...
图解Kubernetes网络(三)
本文主要指出Kubernetes作为一个分布式系统,是如何通过Service这个抽象概念进行服务发现的,并进一步阐明了出站流量和入站流量的实现方式,帮助用户更加清晰得使用Kubernetes。 本文是Kubernetes网络系列的第三部分,如果你还没看过第一部分和第二部分,我建议你先花点时间读一下。 集群动力学由于Kubernetes(更通用的说法是分布式系统)天生具有不断变化的特性,因此它的Pod(以及Pod的IP)总是在改变。变化的原因可以是针对不可预测的Pod或节点崩溃而进行的滚动升级和扩展。这使得Pod IP不能直接用于通信。 我们看一下Kubernetes Service,它是...
图解Kubernetes网络(二)
本文是Kubernetes网络系列的第二部分,详细阐述了Overlay网络在Kubernetes中的工作模式,并指出Overlay不是必须的,只有当我们知道为什么要使用Overlay模式时才使用它。 这篇文章的前一部分,我们漫谈了Kubernetes的网络模型。我们观察了数据包是如何在同一节点上的pod 间和跨节点的 pod 间流动的。我们也注意到了Linux网桥和路由表在这个过程中所扮演的角色。 今天我们将进一步阐述这些概念,并阐述Overlay网络是如何工作的。我们也将理解Kubernetes千变万化的Pod是如何从运行的应用中抽象出来,并在幕后处理的。 Overlay 网络Ove...
图解Kubernetes网络(一)
阐述了Kubernetes网络模型,并详细描述了Kubernetes Pods在节点内和节点间的通信方式,帮助读者在碰到Kubernetes网络问题时从容应对。 你一直在Kubernetes集群中运行一系列服务并已从中获益,或者你正打算这么做。尽管有一系列工具能帮助你建立并管理集群,你仍困惑于集群底层是如何工作的,以及出现问题该如何处理。我曾经就是这样的。 诚然Kubernetes对初学者来说已足够易用,但我们仍然不得不承认,它的底层实现异常复杂。Kubernetes由许多部件组成,如果你想对失败场景做好应对准备,那么你必须知道各部件是如何协调工作的。其中一个最复杂,甚至可以说是最关键...
Kubernetes Concept
Kubernetes总体架构Master和Node Kubernetes主要由以下几个核心组件组成: etcd 保存了整个集群的状态,用于持久化存储集群中所有的资源对象,如Node、Service、Pod、RC、Namespace等; API Server 提供了资源操作的唯一入口,操作etcd的封装接口API,并提供认证、授权、访问控制、API注册和发现等机制; Controller Manager 集群内部的管理控制中心,其主要目的是实现Kubernetes集群的故障检测和恢复的自动化工作,比如根据RC的定义完成Pod的复制或移除,以确保Pod实例数符合RC副本的定义;根据...
CI/CD Concept
CI(Continuous Integration, 持续集成)多人开发共同合作的时候,经常性的将个人的工作(代码)合并集成到一起。每次的集成,都由“自动构建”并执行相应测试,进行快速验证。简而言之,经常性的同步彼此的工作,尽可能保证整个软件项目随时是完整可用的。一般包括的流程:集成、构建、测试。 Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates ...
avatar
Wonderingkaho
witness me