国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

jq特效網(wǎng)站模板全網(wǎng)最好的推廣平臺

jq特效網(wǎng)站模板,全網(wǎng)最好的推廣平臺,有關網(wǎng)站開發(fā)的外文文獻,湘潭專業(yè)seo優(yōu)化價格#作者:西門吹雪 文章目錄 micro-Services-TutorialCeph分布式文件共享方案部署Ceph集群使用CephCeph在kubernetes集群中的使用 micro-Services-Tutorial 微服務最早由Martin Fowler與James Lewis于2014年共同提出,微服務架構風格是一種使用一套小服務來開發(fā)單個應…

#作者:西門吹雪

文章目錄

  • micro-Services-Tutorial
  • Ceph分布式文件共享方案
  • 部署Ceph集群
  • 使用Ceph
  • Ceph在kubernetes集群中的使用

micro-Services-Tutorial

微服務最早由Martin Fowler與James Lewis于2014年共同提出,微服務架構風格是一種使用一套小服務來開發(fā)單個應用的方式途徑,每個服務運行在自己的進程中,并使用輕量級機制通信,通常是HTTP API,這些服務基于業(yè)務能力構建,并能夠通過自動化部署機制來獨立部署,這些服務使用不同的編程語言實現(xiàn),以及不同數(shù)據(jù)存儲技術,并保持最低限度的集中式管理。然而微服務又需要限流器(Rate Limiter),數(shù)據(jù)傳輸(Trasport 序列化和反序列化),日志(Logging),指標(Metrics)
,斷路器(Circuit breaker),請求追蹤(Request tracing ),服務發(fā)現(xiàn)(Service Discovery),因此就想寫一篇關于微服務和微服務組件的總結來記錄下自己使用優(yōu)化的過程.

Ceph分布式文件共享方案

在使用Kubeneters的時候在各個容器中都需要使用同一套文件,但是如果使用NAS盤的方式話,無論是在更新或者是讀取時候都要幾分鐘時間去部署,而且有時候還會出現(xiàn)文件占用失敗的問題,調(diào)研了一段時間之后發(fā)現(xiàn)Kuberneters結合比較好的文件系統(tǒng)用Ceph分布式文件共享方案去解決這樣的問題.

  • 環(huán)境準備
    在安裝分布式之前需要先進行環(huán)境準備,需要3臺服務器來做集群,ceph默認會進行保存三份文件來保障數(shù)據(jù)安全,服務器系統(tǒng)是centos7.3:
主機名IP部署服務
host1120.92.172.35主機1
host2120.92.169.191主機2
host3120.92.165.229主機3

首先安裝docker環(huán)境,這個可以根據(jù)電腦系統(tǒng)的不同,選擇不同的安裝方式。

  • Mac安裝
  • Ubantu安裝
  • Windows安裝
  • centos安裝

我這里是用腳本直接在centos上直接安裝的:

yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo;yum-config-manager --enable docker-ce-edge;yum-config-manager --disable docker-ce-edge;yum install docker-ce;systemctl start docker.service;
systemctl enable docker.service;

安裝成功之后可以查看下:

> docker --verison
Docker version 18.06.0-ce, build 0ffa825

注意:這里需要配置好國內(nèi)docker源,這樣可以提高速度

> mkdir -p /etc/docker
> tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF> systemctl daemon-reload
> systemctl restart docker
> systemctl enable docker

部署Ceph集群

在主機1上部署運行mon,用以讓客戶端連接 Ceph 監(jiān)視器:

node1> docker run -d \--name=mon \--net=host \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \-e MON_IP=120.92.172.35 \-e CEPH_PUBLIC_NETWORK=192.168.1.0/24 \ceph/daemon mon

查看docker和ceph運行狀態(tài):

> docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED              STATUS              PORTS               NAMES
b0c9d7680461        ceph/daemon         "/entrypoint.sh mon"   About a minute ago   Up About a > docker exec mon ceph -s
cluster:id:     da8f7f5b-b767-4420-a510-287f4ced25dehealth: HEALTH_OKservices:mon: 1 daemons, quorum ceph-1mgr: no daemons activeosd: 0 osds: 0 up, 0 indata:pools:   0 pools, 0 pgsobjects: 0  objects, 0 Busage:   0 B used, 0 B / 0 B availpgs:     

由于我們沒有映射端口,但是Ceph容器會把后續(xù)需要使用到的端口映射出來:

node1> yum install tcping
node1> tcping 120.92.172.35 6789
120.92.172.35 port 6789 open

通常Ceph有兩種方式實現(xiàn)在各個節(jié)點之間共享配置,第一種是以文件的方式實現(xiàn)共享,需要把第一個啟動起來的節(jié)點的文件CP到其他節(jié)點,另外一種是使用配置服務(比如etcd或者consul). 這里我使用的第一種共享配置,將主機1上的配置文件復制到主機2和主機3,復制的路徑包含/etc/ceph和/var/lib/ceph/bootstrap-*下的所有內(nèi)容。

node2 > mkdir -p /var/lib/ceph
node1> scp -r /etc/ceph root@120.92.169.191:/etc
node1> scp -r /var/lib/ceph/bootstrap* root@120.92.169.191:/var/lib/cephnode3 > mkdir -p /var/lib/ceph
node1 > scp -r /etc/ceph root@192.168.3.103:/etc
node1 > scp -r /var/lib/ceph/bootstrap* root@120.92.165.229:/var/lib/ceph

啟動主機2和主機3上的mon,在主機2上執(zhí)行以下命令啟動 mon,修改 MON_IP:

> docker run -d \--net=host \--name=mon \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \-e MON_IP=120.92.169.191 \-e CEPH_PUBLIC_NETWORK=192.168.1.0/24 \ceph/daemon mon

在主機3上執(zhí)行以下命令啟動 mon,修改 MON_IP:

> docker run -d \--net=host \--name=mon \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \-e MON_IP=120.92.165.229 \-e CEPH_PUBLIC_NETWORK=192.168.1.0/24 \ceph/daemon mon

在節(jié)點上在查看ceph集群狀態(tài)可以看到有三個mos上線了:

> docker exec mon ceph -scluster:id:     da8f7f5b-b767-4420-a510-287f4ced25dehealth: HEALTH_OKservices:mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3mgr: no daemons activeosd: 0 osds: 0 up, 0 indata:pools:   0 pools, 0 pgsobjects: 0  objects, 0 Busage:   0 B used, 0 B / 0 B availpgs:  

然后需要運行osd服務把磁盤給ceph作為文件共享系統(tǒng)的基礎存儲,因此我們需要為三臺服務器掛載對應的磁盤(這里選擇掛載100GB的SSD云磁盤).

> fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008d73aDevice Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83884031    41940992   53  LinuxDisk /dev/vdb: 107.5 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

這時候在三臺服務器上分別運行(如果需要掛載多塊可以運行多個osd):

> docker run -d \--net=host \--name=osd \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \-v /dev/:/dev/ \--privileged=true \-e OSD_FORCE_ZAP=1 \-e OSD_DEVICE=/dev/vdb \ceph/daemon osd_ceph_disk

此時我們查看發(fā)現(xiàn)osd3個節(jié)點就可以看到已經(jīng)上線了:

>  docker exec mon ceph -scluster:id:     da8f7f5b-b767-4420-a510-287f4ced25dehealth: HEALTH_WARNno active mgrservices:mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3mgr: no daemons activeosd: 3 osds: 3 up, 3 indata:pools:   0 pools, 0 pgsobjects: 0  objects, 0 Busage:   0 B used, 0 B / 0 B availpgs:     

但是這個時候我們還看不到存儲空間,這是因為mgr沒有啟動,我們把mds和rgw也一起跑起來在node1節(jié)點上:

> docker run -d \--net=host \--name=mgr \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \ceph/daemon mgr> docker run -d \--net=host \--name=mds \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \-e CEPHFS_CREATE=1 \ceph/daemon mds     
> docker run -d \--name=rgw \-p 80:80 \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph/:/var/lib/ceph/ \ceph/daemon rgw        

這個時候就可以看到初始化完成了:

>  docker exec mon ceph -scluster:id:     da8f7f5b-b767-4420-a510-287f4ced25dehealth: HEALTH_OKservices:mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3mgr: ceph-1(active)mds: cephfs-1/1/1 up  {0=ceph-1=up:active}osd: 3 osds: 3 up, 3 inrgw: 1 daemon activedata:pools:   6 pools, 48 pgsobjects: 209  objects, 3.4 KiBusage:   6.0 GiB used, 292 GiB / 298 GiB availpgs:     48 active+clean

使用Ceph

我們可以使用ceph掛載磁盤進行使用,但是ceph有很強的用戶校驗機制所以這里需要先拿到訪問key ,而且在使用過程中可以指定多個節(jié)點形成負載均衡,然后用內(nèi)核驅(qū)動掛載 Ceph 文件系統(tǒng) — Ceph Documentation.

> mkdir /mnt/cephfile
> cat /etc/ceph/ceph.client.admin.keyring 
[client.admin]key = AQBXv0VbKtikExAAwHHp+F2HJSnYIIqaozjt3g==auid = 0caps mds = "allow"caps mgr = "allow *"caps mon = "allow *"caps osd = "allow *"mount -t ceph 120.92.172.35,120.92.169.191,120.92.165.229:/ /mnt/cephfile -o name=admin,secret=AQBhlz1bZBHcLxAAt6eIyBxnAxFoyA7PDTqAkQ==
umount /mnt/cephfile>  lsof  /mnt/cephfile
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF          NODE NAME
bash    10356 root  cwd    DIR    0,0        2 1099511627781 /mnt/cephfile/data/dev/code

這是最簡單的使用,還有關于rdb對象存儲以及Ceph還有快照等功能,可以在搭建好整個集群之后進行測試文件速度(這里主要測試的是5000多個小文件拷貝速度)如下:

# NAS盤
>  time cp -rf php/ general/test
real    2m 7.05s
user    0m 0.13s
sys     0m 1.80s# CEPH
> time cp -rf php/ generalceph/test
real    0m 6.88s
user    0m 0.05s
sys     0m 0.39s# 本地磁盤
> time cp -rf php/ php2
real    0m 1.16s
user    0m 0.02s
sys     0m 0.21s

通過對比可以看到CEPH的速度對于NAS盤提升有很多,面對本地磁盤差距也不是很大.

Ceph在kubernetes集群中的使用

在kubernetes集群中可以使用ceph作為高速共享盤,這樣可以提高我們的自動化部署更新代碼的速度,同時節(jié)省更新的時間.

由于kubernetes支持cephFS文件掛載,所以我們只需要用yaml編排文件處理就好,由于使用ceph需要密碼所以我們先創(chuàng)建一個secret類型的yaml:

apiVersion: v1
kind: Secret
metadata:name: ceph-secretnamespace: dev
data:key: QVFCMTZWMVZvRjVtRXhBQTVrQ1FzN2JCajhWVUxSdzI2Qzg0SEE9PQ==

然后創(chuàng)建我們需要的volume掛載卷就可以在Pod中正常使用了.

apiVersion: v1
kind: PersistentVolume
metadata:name: cephfs-pv
spec:capacity:storage: 200GiaccessModes:- ReadWriteManycephfs:monitors:- 120.92.172.35:6789- 120.92.169.191:6789- 120.92.165.229:6789user: adminsecretRef:name: ceph-secretreadOnly: falsestorageClassName: cephpersistentVolumeReclaimPolicy: Recycle
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: cephfs-pv-claim
spec:accessModes:- ReadWriteManyresources:requests:storage: 100GistorageClassName: ceph
http://aloenet.com.cn/news/43249.html

相關文章:

  • 怎么做自已的網(wǎng)站太原seo網(wǎng)站排名
  • asp做網(wǎng)站的優(yōu)勢是什么新品牌推廣方案
  • 鄭州網(wǎng)站建設特色得物app的網(wǎng)絡營銷分析論文
  • 桂林市內(nèi)旅游必去景點整站seo外包
  • 深圳做網(wǎng)站信科品牌推廣內(nèi)容
  • ppt模板免費下載網(wǎng)站不需要登錄torrentkitty磁力官網(wǎng)
  • 快速做網(wǎng)站的軟件免費網(wǎng)絡空間搜索引擎
  • 360客服做網(wǎng)站電話網(wǎng)絡工程師培訓班要多少錢
  • 在線做章網(wǎng)站aso蘋果關鍵詞優(yōu)化
  • 哪家建設網(wǎng)站長春網(wǎng)站建設平臺
  • 如何自己做攝影網(wǎng)站萬能搜索引擎網(wǎng)站
  • 微店網(wǎng)站鏈接怎么做seo外包是什么意思
  • 手工做衣服網(wǎng)站網(wǎng)站引流推廣怎么做
  • 手機h5制作小程序百度手機seo軟件
  • WordPress自定義計算小紅書seo排名
  • 重慶品牌網(wǎng)站建設電商自學網(wǎng)
  • wap手機網(wǎng)站源碼企業(yè)網(wǎng)站的作用有哪些
  • wordpress 更新很慢微信公眾號seo
  • 西安做的好的網(wǎng)站公司南昌seo全網(wǎng)營銷
  • 怎么創(chuàng)建網(wǎng)站 免費的官網(wǎng)設計公司
  • 新企業(yè)在哪里做網(wǎng)站好關鍵詞推廣優(yōu)化排名品牌
  • wordpress文章頁面菜單優(yōu)化大師win7
  • 女女做的網(wǎng)站目前最新推廣平臺
  • 南通網(wǎng)站開發(fā)招聘按效果付費的網(wǎng)絡推廣方式
  • html5手機網(wǎng)站開發(fā)區(qū)別百度快照推廣
  • 建設網(wǎng)站必備條件長春網(wǎng)站建設推廣
  • 大于二高端網(wǎng)站建設新手seo入門教程
  • 網(wǎng)站標簽怎么做重慶網(wǎng)站網(wǎng)絡推廣
  • 淄博北京網(wǎng)站建設手機百度搜索引擎入口
  • 做網(wǎng)站收費標準哪個平臺可以免費打廣告