0%

  1. 用户通过“kubectl”部署一个新的应用程序。Kubectl将请求发送到API服务器。
  2. API服务器接收请求并将其存储在数据存储(etcd)中。将请求写入数据存储后,API服务器将完成请求。
    阅读全文 »

准备环境

  • 公共网络和集群网络必须相同

  • 如果存储类用户标识不是admin,则必须在Ceph集群中手动创建用户并在Kubernetes中创建其密钥

  • ceph-mgr只能运行1个副本

启动本地Helm

ceph-helm项目默认使用本地Helm repo来存储images,要启动本地Helm repo服务器

1
2
$ helm serve &
$ helm repo add local http://localhost:8879/charts

增加本地helm仓库

1
2
3
$ git clone https://github.com/ceph/ceph-helm
$ cd ceph-helm/ceph
$ make

配置Ceph

创建一个ceph-overrides.yaml Ceph配置来覆盖ceph-helm默认值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cat ~/ceph-overrides.yaml
network:
public: 172.16.0.0/20
cluster: 172.16.0.0/20

osd_devices:
- name: dev-sdb
device: /dev/sdb
zap: "1"
- name: dev-sdc
device: /dev/sdc
zap: "1"

storageclass:
name: ceph-rbd
pool: rbd
user_id: k8s

创建kubernetes 命名空间

1
$ kubectl create namespace ceph

配置RBAC权限

Kubernetes> = v1.6使用RBAC为默认权限,rbac.yaml默认在git clone下来的文件夹里面

1
kubectl create -f ~/ceph-helm/ceph/rbac.yaml

创建标签

# Ceph Monitor
$ kubectl label node <nodename> ceph-mon=enabled ceph-mgr=enabled

# OSD node
$ kubectl label node <nodename> ceph-osd=enabled ceph-osd-device-dev-sdb=enabled ceph-osd-device-dev-sdc=enabled

本篇将说明如何透过Kubeadm来部署Kubernetes v1.11版本的高可用性丛集,而本安装主要是参考官方文件中的用kubeadm创建高可用的集群内容来进行,这边将透过HAProxy与Keepalived的结合来实现控制面的Load Balancer与VIP。

阅读全文 »

备注:
简易安装ceph luminous版本,用于kubernetes PV,详情移至Ceph官网,部署Ceph至少一个MON,三个OSD。Ceph 分布式存储集群有三大组件组成,分为:Ceph Monitor、Ceph OSD、Ceph MDS,后边使用对象存储和块存储时,MDS 非必须安装,只有当使用 Cephfs 文件存储时,才需要安装。

  • 自动部署osd可以采用 ceph-deploy ,也可以采用 ceph-disk 命令

  • luminous版本中,删除OSD可以直接使用 ceph osd purge 命令,比较省心

  • 生产环境中磁盘的挂载尽量采用uuid/partuuid

    1
    http://docs.ceph.com/docs/master/start/quick-ceph-deploy/
阅读全文 »