使用Helm charts在Kubernetes 1.4 MongoDB上部署

有人说:“如果你觉得国庆7天短的话,那么接下来上班的7天你就知道有多长了【二哈】”,今天周一,照列来一波干货来袭,喜欢来收。

2016年9月26日发布Kubernetes 1.4版本,其中包括几项新的功能。一个有趣的是使用扩展的状态的应用支持 Helm Charts。在这篇文章中,我们将使用Kubernetes 1.4的这个新功能部署MongoDB实例来Kubernetes。

他们的博客公告:
策划和预测试Helm Charts普通状态的应用,如MariaDB的,MySQL和詹金斯将可使用头盔包管理器的版本2单命令启动。

请记住,即使Helm只是官方Kubernetes的一部分,但是不要它的话法,将无法正常工作。如果你发现有任何问题,可以在GitHub上创建一个问题来需求解决。

什么是 Helm?

Helm,是Kubernetes的软件包管理器。Charts表示可以安装并组成的预配置Kubernetes资源包。

配置 Helm
Helm采用客户端机服务器模式。服务器部分被称为tiller,同时包括你运行Kubernetes集群。客户端部分被称为helm,安装在本地的开发系统上。

安装客户端Helm
首先我们安装需要的客户端,以便我们能在Kubernetes群集上安装helm。在helm的每个版本中大多数OS是二进制文件。去他们的GitHub库kubernetes 或者Helm,并找到最新版本。在这篇文章撰写时最新的版本是V2.0.0,alpha.4,所以我们将使用该版本。

注意:安装helm的同时请确保你已经把kubectl安装在相同环境下。这将使我们能够从开发环境的群集上安装helm。

运行下面的命令下载并解压二进制文件:

2.jpg
将二进制放到有用的地方:
3.jpg
验证是否安装正确:
4.jpg

安装 Helm server
现在,我们已经安装了客户端helm,我们可以用它在我们的Kubernetes群集上安装helm。要安装简单helm运行以下命令:

5.jpg
该命令完成后,您可以通过列出所有kube-system验证它安装helm:
6.jpg
现在,我们可以验证客户端和服务器部分被重新运行。我们应该看到这两个部分中列出的版本:(实际上,它指出在这个从GitHub的helm note,但在实践中使用命令,我只看到它显示了客户端版)
7.jpg

准备 GCE
为了让我们的Chart正常运行,我们需要得到一些底层架构。该图表将创建3 个MongoDB的实例,每个都需要有一个持久Kubernetes Persistent Volume。由于我们这篇文章使用GCE的云服务提供商,我们需要使用gcloud SDK第一设置3个 GCE永久磁盘。确保你在同一区域作为你kubernetes集群创建的磁盘。
8.jpg
不要担心警告,新的磁盘格式化,MongoDB会提醒我们。现在,我们有GCE PD的创建,我们需要创建相应的Kubernetes Persistent Volumes。创建一个名为GCE-pv.yaml的文件,内容如下:
9.jpg
保存文件,然后使用kubectl来创建它们
10.jpg
现在我们可以来安装Chart!

Charts
Charts是描述软件包的Kubernetes方式。chart基本上与描述了如何部署应用程序文件的目录。这与Puppet Modules非常相似,因为它们是描述应用程序代码的目录。
文件结构
顶层目录的名称是应用程序的名称。structore概述如下:
11.jpg
该Chart.yaml和values.yaml文件是唯一需要的文件,包括有关chart信息。

Chart.yaml
我不会把Chart.yaml文件的详细信息弄的那么繁杂。这种东西应该是帮助我们理解抽象的部署应用程序,就像MongoDB的那么容易,因为用apt或yum的安装。如果你真的想知道更多有关如何将文件的组织知识,你可以自行阅读相关知识。

MongoDB Chart

Incubator 状态

Chart被认为是“incubator status‘,这意味着它不符合下列条件之一是:

  • 提供了数据持久性的方法(如适用)
  • 支持应用升级
  • 允许应用程序配置的定制
  • 提供一个安全的默认配置

不要利用Kubernetes alpha功能

MongoDB chart使用大量的Kubernetesalpha功能这使得它处于孵化器的状态。

获取Chart

第一步,通过用git clone到本地存储库以获得图表。
19.jpg
安装 Chart
现在,可以用一个命令来安装我们的chart。
13.jpg
这将在默认的命名空间内为MongoDB创建Kubernetes服务和petset。从helm来看,先安装命令是PetSet发布的名称。这很重要,因为这是我们以后的一切引用。几分钟后,检查我们的pods的状态。

14.jpg
现在,我们在Kubernetes集群中有运行的的MongoDB集群。最后,我们将学习如何访问它,并验证一切工作。

验证 MongoDB 的运行
现在,我们的MongoDB在运行中,我们可以在上面运行一些命令来检查MongoDB是否在真正运行。
15.jpg
现在运行以下命令来找出哪一个是主要的MongoDB pods。
16.jpg
17.jpg
你可以从上面举的例子中看到,第二个pod是主MongoDB实例。

卸载
如果你想MongoDB停止运行,你可以使用“uninstall”命令。

18.jpg
结论
现在你有一个MongoDB的安装配置好并存储数据。我们用一个简单方法安装了它Kubernetes称为Helm。由于这仍然是相当新的技术,所以这篇文章只有几个chart可用,但我相信在不久的将来会有很多。

原文链接:http://billcloud.me/deploying-mongodb-on-kubernetes-1.4-using-helm-charts/
了解更多干货知识,可关注微信公众号“godocker”或“精灵云”

如何通过SCJP考试(含真题分析和考点)          SCJP认证全称为SUN 认证Java程序员,是Java认证系列中最基础的一门认证。要通过Java的其他认证,必须先通过SCJP认证(SCEA认证除外)。即使SUN被Oracle收购了,Java技术本身是不会因为收购而受到影响,Java技术仍然是大型企业应用的首选技术。       虽然不能说,如果拥有了Java的相关认证,就能有多高多高薪水,不过很多公司企业对于拥有证书 阅读详情

相关推荐

SCJP认证复习——经典题库

 我把147和104的题综合了一下,从个人的观点做了一些解析。也把其中的一些错误纠正了一些,多数题都通过了上机实测。但个人能力有限,对答案的正确性仍然不敢保证全都正确,所以请各位自行处理。  1. Given:1. public class returnIt {2. returnType methodA(byte x, double y){3. return (sh

深红 9492

SpringBoot+MongoDB+Echarts图表数据可视化

SpringBoot+MongoDB+Echarts图表数据可视化 SpringBoot+MongoDB+Echarts图表数据可视化

SCJP刷题学习笔记(Part six)

QUESTION 51 Given: final class Folder { //line n1 //line n2 public void open () { System.out.print(“Open”); } } public class Test { public static void main (String [] args) throws Ex...

GOGOGO! 676

helm部署mongodb_如何使用Helm在Kubernetes上使用MongoDB扩展Node.js应用程序

helm部署mongodb 介绍 (Introduction) Kubernetes is a system for running modern, containerized applications at scale. With it, developers can deploy and manage applications across clusters of machines. And ...

1245

SCJP刷题学习笔记(Part one)

测试Java版本“1.8.0_131” 工具为eclipse QUESTION 1 Given the definition of the Vehicle class: Class Vehicle { int distance; //line n1 Vehicle (int x) { this distance = x; } public void incre...

GOGOGO! 889

SCJP刷题学习笔记(Part fifteen)

QUESTION 141 Given: What is the result? A. Hi Interface-2 B. A compilation error occurs. C. Hi Interface-1 D. Hi MyClass Correct Answer: D Section: (none) Explanation Explanation...

GOGOGO! 775

Helm 部署配置mongo+glusterfs分布式存储应用

Mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂。 本次使用的方式是 Replica set模式 部署步骤 1、 2、 先为mongodb创建一个新空间 kubectl create ns mongo-test helm pull stable/mongodb -n mongo-test 下载

intelrain的博客 1028

SCJP刷题学习笔记(Part seventeen)

QUESTION 161 Given the code fragments: class ThreadRunner implements Runnable { public void run () { System.out.print (“Runnable”) ; } } class ThreadCaller implements Callable { Public Str...

GOGOGO! 842

helm部署mongodb集群

helm部署mongodb集群 配置: node1-iot.com,ip:192.168.0.201 node2-iot.com ip:192.168.0.202 node3-iot.com ip:192.168.0.204 一:部署helm以及storageclass查看其它文章 二:helm部署mongodb集群 [root@master-iot mongodb]# helm repo a...

weixin_43224068的博客 4311

java考证

今后目标:Java程序员(SCJP)、Java开发员(SCJP)、Java Web组件的开发(SCWD)和Java2企业级设计师企业级技术(SCJA)SCJP、scjd, sdbcd, scwcd, scea, 这一批是sun的java认证。scjp:SUN认证程序员scjd: SUN认证开发员scbcd: SUN认证业务组件开发员scwcd: SUN认证WEB组件开发员SCEA: SUN认证企业...

qq_40700940的博客 1410

Java泛型专题之6、如何理解 Java 中的 <T extends Comparable<? super T>>

<T extends Comparable<T>>表明T实现了Comaprable<T>接口,此条件强制约束,泛型对象必须直接实现Comparable<T>(所谓直接就是指不能通过继承或其他方式) <T extends Comparable<? super T>> 表明T的任意一个父类实现了Comparable<? ...

优快云_KONGlX的博客 1394

微服务探索之路06篇k8s配置文件Yaml部署Redis使用Helm部署MongoDB和kafka

k8s部署Redis,MongoDB,kafka,文中是用来Helm,包含如何安装使用Helm

CrazyWu 3259

implements与extends知识点整理

父类与子类继承关系上的不同: A a = new B(); 结果a是一个A类的实例,只能访问A中的方法,那么又和A a = new A();有什么区别呢? *********************************************************************************************** class B extends

qq_21440289的博客 436

Java jar 如何防止被反编译

由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。

SharingOfficer的博客 390

实用:如何防止你的 jar 被反编译?

Java作为解释型的语言,其高度抽象的特性意味其很容易被反编译,容易被反编译,自然有防止反编译措施存在。今天就拜读了一篇相关的文章,受益匪浅,知彼知己嘛!!之所以会对java的反编译感兴趣,那是因为自己在学习的过程中,常常需要借鉴一下别人的成果(你懂的...)。或许反编译别人的代码不怎么道德,这个嘛......废话不多说,正文如下:由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难

m0_71777195的博客 388

从不适应到不得不离开,我在印度公司的日子(二)

在这三个月当中,我感觉到公司的一切都非常规范,也对公司的前途非常有信心,心想:不想再换工作了,就在这家公司干到退休吧!直到后来,我才感觉到这样的想法是多么的单纯和一厢情愿。每周三的下午,我们的项目经理或组员会给大家讲一些新的技术或经验,以达到共同分享,共同进步的目的。从设计模式到CMM流程,从数据仓库至UML2,我充分地汲收着新的知识。这样的环境真不错,我从心底里对公司非常认可。而且每个周五的

jackgogogo的专栏 4139

OCJP认证 | 国际上最热门的IT认证之一,开启你高级认证的钥匙

OCJP认证在国际上获得了IT 公司的普遍认可, 也是目前国际上最热门的IT认证之一。 对Java的程序员而言,凭借自己能力通过OCJP认证,是一种专业的认可。 01 什么是OCJP? OCJP(Oracle Certified Java Programmer)是Oracle认证的Java程序员的简称。 即Sun被Ora

qq_39702406的博客 2059

史上最全的Java进阶书籍推荐,你看了几本?

Effective Java是我读过的最好的编程书籍之一,它包含大量的优秀Java编程实践,并对泛型和并发这两个充满陷阱的Java特性给出了充满洞察力的建议,以至于Java之父James Gosling为这本书作序:“我很希望10年前就拥有这本书。看了两章就不看了,枯燥无味,看完就忘。是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。介绍:这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。

m0_74823842的博客 3万+
上一篇: Docker为整个软件生命周期提供安全保障
下一篇: Docker宣布携手阿里云
ghostcloud精灵云
博客等级 码龄11年 81粉丝 88原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值