Elasticsearch is a Lucene-based search engine developed by the open-source vendor, elastic. With principal features like scalability, resiliency, and top-notch performance, it has overtaken Apache Solr, one of its closest competitors. Nowadays, Elasticsearch is almost everywhere where a search engine is involved: it’s the E of the well-known ELK stackwhich makes it straightforward for your project to process analytics (the L stands for Logstash which is used to process data like logs, streams, metrics; K stands for Kibana, a data visualization platform – projects also managed by elastic).

Installing Elasticsearch from the Rancher Catalog

Before we get started, let me tell you a bit about the Rancher catalog. The Rancher catalog uses rancher-compose and docker-compose to ease the installation of whatever tool you need. Using the Rancher catalog, you can deploy everything from a simple app like ghost (blogging platform) to a full CI/CD stack like GoCD.

I’ll assume here that you have a fully working Rancher platform (a server and several nodes).  If not, then head over to the Rancher documentation here, before going any further in this article and set up your environment. My environment looks like this (Figure 1, built using docker-machine on my laptop):

Figure 1: Elasticsearch Environment

Accessing the Rancher catalog is simple:

  • On the top menu bar of your Rancher UI, click onCatalog, then All.
  • Using the search box on the upper right, search forElasticsearch.
  • You’ll see two versions of Elasticsearch are available (Figure 2). Both work fine, but for this article, we’ll stick to version on the left.
  • Click on View Details. You will need to fill in some simple information (Figure 3).
  • To fire up the installation, click Launch.

Figure 2: Elasticsearch Options in the Rancher Catalog

Figure 3: Elasticsearch Data Form

You should now see something similar to the image below (Figure 4). You can find more details about what Rancher is doing by clicking on the name of your stack (in my case, I’ve installed Elasticsearch, and named my stack LocalEs).

Figure 4: LocalEs app Naming Convention

Expanding our view of the stack (Figure 5), we can see that deploying an Elasticsearch cluster using the Rancher catalog template has included:

  • a Master node
  • a Data node
  • a Client node
  • kopf, an Elasticsearch management web app

Figure 5: Elasticsearch Cluster Stack View

Each of these nodes (except for kopf) comes with sidekick containers, which in this case are configuration and data volume containers.

Your Elasticsearch cluster will be fully functional when all the entries are “active”. If you want to see how they are all connected to each other, take a look at the graph view(available from the drop-down menu on the right hand corner in Figure 6).

Figure 6: Elasticsearch Cluster Graph View

Now, we can visualize how all these containers as they are mapped within the Rancher platform (Figure 7).

Figure 7: Elasticsearch Visual Map

That’s it, our Elasticsearch cluster is now up and running. Let’s see how our cluster behaves!

Cluster Management

Depending on your Rancher setup, kopf is deployed on one of your Rancher nodes. You can access the application using http://[your kopf rancher host]. Here’s an example (Figure 8):

Figure 8: kopf node identification

As you can see, everything seems to be fine, as kopf shows a green top bar. Indeed, our cluster is running without any data stored, so there’s no need for resiliency at this point.

Let’s see how it goes if we manually create an index called ‘ranchercatalog’, with three shards and two replicas.  Using curl, your query would be something like this:

curl -XPUT 'http://[your kopf rancher host]/es/ranchercatalog/' -d '{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
}'

Elasticsearch should reply {“acknowledged”:true}%

Shards are related to data storage, and replicas to resiliency. This means our index will have its data stored using three shards but needs two more replicas of these shards.

Now that our index has been successfully created, let’s talk a look at kopf.

Figure 9: kopf Status View

As you can see in Figure 9, the top bar is now yellow, which indicates there may be something wrong with our Elasticsearch cluster.

We can also see in the middle left of the page a warning sign (red triangle in Fig. 9) saying “six unassigned shards.” Remember when we created the ranchercatalog index, we specified:

  • Three shards
  • Two replicas

By default, the Elasticsearch Rancher catalog item deploys only 1 data node, so we need two more data nodes. Adding nodes can be easily done using the Rancher scale option. The results are shown in Figure 10.

Figure 10: Adding Nodes using Rancher Scale Option

To scale your data nodes, let’s go again to Applications, then to Stack. Click on your stack, and then on elasticsearch-datanodes. You should have something like what is shown in Figure 10. Click 2 times on the + of the scale option and let Rancher do the work. You should see data nodes popping up one after another until you finally have something like what you see in Figure 11.

Figure 11: Node View to Verify Additions

Let’s check if this is enough to bring back the beautiful green bar to kopf. Figure 12 provides the proof.

Figure 12: Corrected Nodes Verification

参考资料:

官网:http://rancher.com/

使用入门:http://www.th7.cn/Program/go/201604/839153.shtml

ELK部署示例:http://rancher.com/announcing-rancher-1-0-ga/http:/docs.rancher.com/rancher/quick-start-guide/

http://rancher.com/deploying-an-elasticsearch-cluster-using-rancher-catalog/

Rancher模型参考(Application、Catalog、Infrastructure、Admin、API、Help)

做容器管理平台的,模型非常值得借鉴:

http://cdn.rancher.com/wp-content/uploads/2016/06/08170452/rachid-1-1.png

http://cdn.rancher.com/wp-content/uploads/2016/06/08170521/Rachid-1-2.png

http://cdn.rancher.com/wp-content/uploads/2016/06/08170610/rachid-1-4.png

http://cdn.rancher.com/wp-content/uploads/2016/06/08170626/rachid-1-5.png

http://cdn.rancher.com/wp-content/uploads/2016/06/08170641/rachid-1-6.png

http://cdn.rancher.com/wp-content/uploads/2016/06/08170705/rachid-1-7.png
http://cdn.rancher.com/wp-content/uploads/2016/06/08170721/rachid-1-8.png

【Docker】Docker管理平台 Rancher ---- 你应该学学Rancher是怎么做容器的管理的的更多相关文章

  1. 微服务下的容器部署和管理平台Rancher

    Rancher是什么 Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了在生产环境中使用的管理Docke ...

  2. (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介

    网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...

  3. kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)

    继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...

  4. kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)

    公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM ...

  5. 基础架构之日志管理平台搭建及java&net使用

    在现代化的软件开发流程中,日志显得非常的重要,不可能再零散的游离在各个项目中,等查看日志的时候再登录服务器去到特定的目录去查看,这显然很繁琐且效率低下,所有整合一套日志管理平台,也显得非常重要,这篇文 ...

  6. centos7.2 kvm虚拟化管理平台WebVirtMgr部署

    在服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM宿主机越来越多,需要对宿主机的状态进行调控,决定采用WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人 ...

  7. 分享接口管理平台 eoLinker AMS 线上专业版V3.0,只为更好的体验,了解一下?

    不知不觉中,eoLinker AMS从2016年上线至今已经三个年头,按照一年一个大版本的迭代计划,我们终于迎来了eoLinker AMS 专业版3.0. AMS产品也从最初专注于API文档管理,成长 ...

  8. 008-kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)

    公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求. 当KV ...

  9. KVM虚拟化管理平台WebVirtMgr部署及使用

    KVM虚拟化管理平台WebVirtMgr部署及使用   需求: 公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上 ...

随机推荐

  1. 【POJ3415】 Common Substrings (SA+单调栈)

    这道是求长度不小于 k 的公共子串的个数...很不幸,我又TLE了... 解法参考论文以及下面的链接 http://www.cnblogs.com/vongang/archive/2012/11/20 ...

  2. [xsy1129] flow [树链剖分和线段树一起优化网络流][我也不知道这是什么鬼标签]

    题面 内部OJ 思路 考虑一个决策方案${x}$,$x_i$表示第$i$个点选不选,$f^k_i$表示点$i$的第$k$个父亲 那么可以得到总花费的表达式$ans=\sum V_i x_i - \su ...

  3. 那些神奇的DP建模

    (1). 迎接仪式 思路:性质,状态1拆为2,进行匹配 (2). 数字序列 思路:转换DP方程,玄学 (3). 序列分割 思路:性质,斜率优化 (4). 经营与开发 思路:倒序,秦久韶公式 (5). ...

  4. Linux命令(IT)

    ls  查看当前目录下文件 cd 指定目录 sftp zygf@xxx.xxx.xxx.xxx  进行登录zygf用户 sftp命令行登录过程: ① sftp   xxx.xxx.xxx.xxx   ...

  5. python注解(装饰器)的用法

    带参数的要用三层def,第一层写注解里的参数,第二层写函数,第三层写具体逻辑. 如果是不带参数的注解,直接使用后两层即可 def needPermission(permissionstr): def ...

  6. git项目初始化的问题汇总

    转:https://blog.csdn.net/Free_Wind22/article/details/81628721 1.在Git官网上点击New repository新建项目: 2.在本地新建一 ...

  7. [01]关于TDD、BDD和DDD的一些看法

    在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式. 比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种 ...

  8. HDU3068 最长回文

    Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  9. ABC103

    Wow今天听同学说了这个网站,做了一次比赛的题目,只有四道题. A.三个数a,b,c,找两个最小的差相加,显然是中间数与另外两个数的差,也就是最大值减最小值了 B.两个字符串,判断能否通过对一个进行每 ...

  10. 昨天用到的一个sql查询。可取处,用max

    SELECT T_AssetInfos_ID, MAX(T_AssetConstruct_Name), MAX(T_AssetProperties_Name), SUM(CAST(PropertyVa ...