成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Kubernetes創(chuàng)建 Couchbase 集群

xumenger / 800人閱讀

摘要:本文將演示如何使用創(chuàng)建集群。本次將使用,和企業(yè)版進行測試。默認情況下服務僅在集群內可見,但我們會將該服務作為一個負載均衡器暴露出去。等待分鐘左右讓負載均衡器啟動。

編者按:本文由Couchbase 的VP Arun Gupta 編寫,展示了如何用Kubernetes 設置 Couchbase 集群。
Couchbase Server是一個開源的、分布式的文檔型NoSQL數(shù)據(jù)庫。它有低于毫秒級的快速鍵值對存儲,為快速查詢設計的專用索引和執(zhí)行SQL語句的引擎。對于移動應用和物聯(lián)網(wǎng)(IOT)環(huán)境,Couchbase Lite在能本地設備上運行并與Couchbase Server進行同步。

最近剛剛發(fā)布的Couchbase Server 4.5加入了許多新功能,包括對Docker的生產認證支持。Couchbase 支持Docker容器的各種編排框架,如Kubernetes,Docker Swarm 和 Mesos,詳情訪問這個頁面(http://www.couchbase.com/cont...)。

本文將演示如何使用Kubernetes 創(chuàng)建 Couchbase 集群。本次將使用Kubernetes 1.3.3 ,AWS和Couchbase 4.5企業(yè)版進行測試。

像所有美好的東西一樣,本篇文章站在巨人的肩膀上。這篇文章的結構是saturnism在一個周五下午確定的,配置文件則由r_schmiddy貢獻。

Couchbase集群

Couchbase 服務的集群通常部署在商用服務器上。Couchbase Server 有一個對等的拓撲結構,在該拓撲結構上所有節(jié)點是平等的并能按需通信。

沒有主節(jié)點,從節(jié)點,配置節(jié)點,名稱節(jié)點,頭節(jié)點等概念,所有節(jié)點上的軟件都是相同的。它允許在不考慮他們“類型”的情況下添加或刪除節(jié)點。

該模式通常能在云基礎設施模型上工作的特別好。對于 kubernetes,這意味著我們可以為所有Couchbase 節(jié)點使用完全相同的容器鏡像。

一個典型的Couchbase 集群創(chuàng)建過程如下:

● 啟動Couchbase:啟動n個 Couchbase 服務器

● 創(chuàng)建集群:選擇任一服務器,并添加所有其他服務器來創(chuàng)建集群

● 再平衡集群:重新平衡集群,使數(shù)據(jù)跨集群分布

為了使用Kubernetes,集群創(chuàng)建分為“master” 和 “worker”的Replication Controller(RC)。

master RC 只有一個副本并作為一個服務(service)發(fā)布。這樣提供了一個單一的入口來開始集群創(chuàng)建。

默認情況下服務僅在集群內可見,但我們會將該服務作為一個負載均衡器暴露出去。這使得可從集群外部訪問Couchbase Web控制臺。

worker RC 跟master RC使用完全相同的鏡像。這將保持集群的同質化,使得伸縮集群更加自如。

配置文件請查看這里(https://github.com/arun-gupta...)。讓我們從創(chuàng)建 Kubernetes資源開始來創(chuàng)建Couchbase集群。

創(chuàng)建Couchbase master RC :

Couchbase master RC 可以使用以下配置文件來創(chuàng)建:

apiVersion: v1 
kind: ReplicationController 
metadata: 
name: couchbase-master-rc 
spec: 
replicas: 1 
selector: 
app: couchbase-master-pod 
template: 
metadata: 
  labels: 
    app: couchbase-master-pod 
spec: 
  containers: 
  - name: couchbase-master 
    image: arungupta/couchbase:k8s 
    env: 
      - name: TYPE 
        value: MASTER 
    ports: 
    - containerPort: 8091


apiVersion: v1 kind: Service metadata: name: couchbase-master-service labels: app: couchbase-master-service spec: ports: - port: 8091 selector: app: couchbase-master-pod type: LoadBalancer

該配置文件創(chuàng)建一個名為 couchbase-master-rc 的Replication Controller。這個RC使用arungupta/couchbase:k8s 鏡像(https://github.com/arun-gupta...)創(chuàng)建了1個 pod 的副本。

該 Dockerfile使用配置腳本配置基礎 Couchbase Docker 鏡像。首先,它使用Couchbase REST API設置存儲配額,設置索引、數(shù)據(jù)和查詢服務,安全憑據(jù),并加載樣本數(shù)據(jù)桶(sample data bucket)。

然后,調用Couchbase CLI命令把Couchbase 節(jié)點添加到集群或添加節(jié)點并平衡集群。這是基于以下三個環(huán)境變量:

● TYPE:定義加入的 pod是worker還是 master

● AUTO_REBALANCE:定義集群是否需要重新平衡

● COUCHBASE_MASTER: master 服務的名稱
第一個配置文件中,只將TYPE環(huán)境變量設置為MASTER。

讓我們創(chuàng)建并驗證。

創(chuàng)建 Couchbase master RC:

列出所有服務:

輸出顯示,couchbase-master-service 被創(chuàng)建。

列出所有pod:

配置文件中指定的Pod創(chuàng)建成功

查看 RC:

RC中 pod 指定的數(shù)量和實際的數(shù)量相同。

查看服務:

kubectl describe svc couchbase-master-service 
Name:   couchbase-master-service 
Namespace:  default 
Labels:   app=couchbase-master-service 
Selector:  app=couchbase-master-pod 
Type:   LoadBalancer 
IP:   10.0.57.201 
LoadBalancer Ingress: a94f1f286590c11e68e100283628 
cd6c-1110696566.us-west-2.elb.amazonaws.com 
Port:    8091/TCP 
NodePort:   30019/TCP 
Endpoints:  10.244.2.3:8091 
Session Affinity: None 
Events: 
FirstSeen LastSeen Count From   SubobjectPath Type 
Reason   Message 
--------- -------- ----- ----   ------------- -------- ------   ------- 
2m  2m  1 {service-controller }   Normal  CreatingLoadBalancer 
Creating load balancer 
2m  2m  1 {service-controller }   Normal  CreatedLoadBalancer 
Created load balancer

記下kubectl describe命令輸出中LoadBalancer Ingress 的值。通過這個地址來訪問 Couchbase Web控制臺。

等待3 分鐘左右讓負載均衡器啟動。然后通過:8091訪問Couchbase Web控制臺,如下:

配置文件指定的用戶名是Administrator,密碼是password,登錄后頁面如下:

點擊Server Nodes,查看集群中有多少Couchbase節(jié)點。正如預期的那樣,當前只顯示一個節(jié)點:

點擊 Data Buckets,查看作為鏡像一部分的示例Bucket :

上圖表明 travel-sample bucket被成功創(chuàng)建并有31591個 JSON文件。

創(chuàng)建一個Couchbase worker RC:

現(xiàn)在我們可以使用配置文件創(chuàng)建一個worker RC:


    apiVersion: v1 
    kind: ReplicationController 
    metadata: 
    name: couchbase-worker-rc 
    spec: 
    replicas: 1 
    selector: 
    app: couchbase-worker-pod 
    template: 
    metadata: 
      labels: 
        app: couchbase-worker-pod 
    spec: 
      containers: 
      - name: couchbase-worker 
        image: arungupta/couchbase:k8s 
        env: 
          - name: TYPE 
            value: "WORKER" 
          - name: COUCHBASE_MASTER 
            value: "couchbase-master-service" 
          - name: AUTO_REBALANCE 
            value: "false" 
        ports: 
        - containerPort: 8091

該 RC使用相同的arungupta/couchbase:k8s鏡像創(chuàng)建Couchbase 的單個副本。這里的主要區(qū)別是:

● TYPE 環(huán)境變量設置為WORKER。向集群中添加了一個 worker Couchbase 節(jié)點 。

● COUCHBASE_MASTER 環(huán)境變量設置為couchbase-master-service。它使用了Kubernetes 內置的服務發(fā)現(xiàn)機制來使 worker 和master中的pod進行通信。

● AUTO_REBALANCE 環(huán)境變量設置為false。該環(huán)境變量確保了節(jié)點只添加到集群而集群本身不重新平衡。集群的再平衡用來在集群中的節(jié)點中重新分布數(shù)據(jù)。當多個節(jié)點首次被添加時推薦使用這種方式,之后集群可以使用Web 控制臺來手動進行再平衡。

讓我們創(chuàng)建 一個worker:

查看RC:

一個新的 couchbase-worker-rc 被創(chuàng)建,并且指定的pod數(shù)量與實際數(shù)量相同。

查看所有的pod:

worker的pod也創(chuàng)建成功。每個 pod 的名稱前綴是了相應RC名稱。例如,worker pod的名字前綴是couchbase-worker-rc。

刷新Couchbase Web控制臺,能夠看到一個新的Couchbase節(jié)點添加成功。在Pending Rebalance 標簽能夠看到一個明顯的標記。

單擊該標簽查看需要重新平衡的節(jié)點IP地址:

伸縮 Couchbase 集群

現(xiàn)在,讓我們通過調整worker RC的副本數(shù)量伸縮Couchbase 集群:

查看RC狀態(tài),發(fā)現(xiàn)pod數(shù)量修改為3個:

通過查看pod列表再次驗證:

Couchbase Web控制臺的Pending Rebalance 標簽顯示有3個服務被添加到集群并且需要重新平衡。

重新平衡 Couchbase 集群

最后,點擊“Rebalance”按鈕重新平衡集群。消息窗口顯示重新平衡的當前狀態(tài):

一旦所有的節(jié)點重新平衡完成,Couchbase 集群將會隨時響應請求:

除了創(chuàng)建集群, Couchbase Server 支持一系列高可用性和災難恢復(HA / DR)策略。大多數(shù)的HA/DR 策略依賴于最大可用性,增加冗余,跨數(shù)據(jù)中心,定期備份等多種方法。

現(xiàn)在Couchbase 集群已就緒,你可以開始使用了。

更多信息請查看 Couchbase Developer Portal 和 Forums,或查看Stack Overflow上的問題。

本文由時速云翻譯,如若轉載,需注明轉載自“時速云”

原文鏈接: http://blog.kubernetes.io/201...

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/32495.html

相關文章

  • Docker 1.12實踐:Docker Service、Stack與分布式應用捆綁包

    摘要:與分布式應用捆綁包分布式應用捆綁包,或者簡稱,是一種多服務可分發(fā)鏡像格式。而當中新推出的分布式應用捆綁包,或者簡稱,則屬于一種新的概念,其專門面向多套容器的遷移需求。利用創(chuàng)建一個分布式應用捆綁包添加了一條新的命令。 在本文中數(shù)人云將帶大家了解如何利用Docker Compose創(chuàng)建一套分布式應用捆綁包,并將其作為Docker Stack在Docker Swarm Mode中進行部署。 ...

    TigerChain 評論0 收藏0
  • 使用OperatorHub.io自動化群集上的操作

    摘要:是什么最初由于年推出,并已被和社區(qū)用作打包部署和管理原生應用程序的方法。原生應用程序是一個部署在上的應用程序,使用和眾所周知的工具進行管理,如。的協(xié)調循環(huán)將選擇這些,并執(zhí)行所需的操作以實現(xiàn)所需的狀態(tài)。目前在上列出的的一些示例包括和。 作者:Diane Mueller,紅帽云平臺社區(qū)發(fā)展總監(jiān) showImg(https://segmentfault.com/img/bVbpg7E?w=1...

    soasme 評論0 收藏0
  • 輕松搞定|將PHP和Couchbase應用部署為Docker

    摘要:此時,可以構建映像,并將其部署為容器。從執(zhí)行以下操作以上命令將使用文件中定義的端口,構建對應鏡像和部署成為容器。 showImg(https://segmentfault.com/img/remote/1460000010122752); 數(shù)人云之前分享了《如何用Docker實現(xiàn)PHP命令行程序的CI/CD》,詳細地介紹了整體過程中的思路以及以及注意事項,今天帶來的文章將闡述怎樣部署一...

    X1nFLY 評論0 收藏0
  • Couchbase 介紹 - 更好的 Cache 系統(tǒng)

    摘要:的集群設計對等網(wǎng)群集所有點都是對等的,只是在創(chuàng)建群或者加入集群時需要指定一個主節(jié)點,一旦結點成功加入集群,所有的結點對等。對等網(wǎng)的優(yōu)點是,集群中的任何節(jié)點失效,集群對外提供服務完全不會中斷,只是集群的容量受影響。 在移動互聯(lián)網(wǎng)時代,我們面對的是更多的客戶端,更低的請求延遲,這當然需要對數(shù)據(jù)做大量的 Cache 以提高讀寫速度。 術語 節(jié)點:指集群里的一臺服務器。 現(xiàn)有 Cache 系統(tǒng)...

    Amio 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<