ceph集群用户管理实战指南

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 这篇文章提供了Ceph集群用户管理的详细指南,包括用户格式和权限说明、创建和删除用户、修改用户权限、用户备份和恢复,以及如何导出和验证用户授权文件。

一.ceph集群用户管理

1.用户格式及权限说明

ceph的用户格式"TYPEID.USERID"
    - TYPEID:
        指定的是用户类型。
        包括内置组件用户(mon,mds,rgw,osd,mgr)和普通用户(client)。

    - USERID:
        就是用户名,可以是数字,比如表示ods的第0块磁盘,对应的是"ods.0",
        也可以是字符串,比如管理员用户,对应的是"client.admin"。
        当然,用户可以自定义USERID,比如"client.jason","client.yinzhengjie"。

每个用户都可以授权,使用caps字段关联。授权的格式"allow 权限"

    常用的权限有:
        - r:
            读权限
        - w: 
            写权限
        - x: 
            执行权限,可以调用方法(这些方法可能存在读写等操作),还可以执行mon的auth等相关命令。
        - *: 
            拥有rwx等权限。
        - class-read:
            拥有x能力的子集,授予用户调用类写入方法的能力。
        - class-write:
            拥有x能力的子集,授予用户调用类写入方法的能力。
        - profile osd:
            授予用户一某个OSD身份连接到其他OSD或监视器的权限,可以获取OSD的状态信息。
        - profile mds:
            授予用户以某个MDS身份连接到其他MDS或监视器的权限,可以获取mds的状态信息。
        - profile bootstrap-osd:
           授予用于引导OSD的权限,在部署时候产生。
        - profile bootstrap-mds:
           授予用于引导元数据服务器的权限,在部署时候产生。

举例说明:(通过上面的介绍,那就可以看懂下面的配置啦)
[root@ceph141 ~]# cat /etc/ceph/ceph.client.admin.keyring 
[client.admin]
    key = AQDjFrplyvFCDhAApJg111YMIGQ6/F/x/Y+qpQ==
    caps mds = "allow *"
    caps mgr = "allow *"
    caps mon = "allow *"
    caps osd = "allow *"
[root@ceph141 ~]# 


关于更多权限信息请参考官网:
    https://docs.ceph.com/en/latest/rados/operations/user-management/#authorization-capabilities
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/

2.查看现有的用户

参考链接:
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/#get-a-user

    1 查看指定用户
[root@ceph141 ~]# ceph auth get client.admin
[client.admin]
    key = AQDjFrplyvFCDhAApJg111YMIGQ6/F/x/Y+qpQ==
    caps mds = "allow *"
    caps mgr = "allow *"
    caps mon = "allow *"
    caps osd = "allow *"
exported keyring for client.admin
[root@ceph141 ~]# 


    2 查看所有用户
[root@ceph141 ~]# ceph auth list  # 和"ceph auth ls"等效
osd.0
    key: AQBGG7pllktDHxAAt1KWf87MZAgaaP67aCeSiA==
    caps: [mgr] allow profile osd
    caps: [mon] allow profile osd
    caps: [osd] allow *
...
client.admin
    key: AQDjFrplyvFCDhAApJg111YMIGQ6/F/x/Y+qpQ==
    caps: [mds] allow *
    caps: [mgr] allow *
    caps: [mon] allow *
    caps: [osd] allow *
...
mgr.ceph141
    key: AQClHrpldmqBOxAAhVvr/j+7X0rC8dfc+1fgrQ==
    caps: [mds] allow *
    caps: [mon] allow profile mgr
    caps: [osd] allow *
...
installed auth entries:

[root@ceph141 ~]#

3.三种方式自定义普通用户

参考链接:
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/#add-a-user

    1 "ceph auth add" 创建用户
[root@ceph141 ~]# ceph auth add client.jasonyin2020 mon 'allow r' osd 'allow rwx pool=yinzhengjie-rbd'
added key for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020
[client.jasonyin2020]
    key = AQD3QLxldlFsFBAAXV+S18R6Y8Cel11QRzs5XA==
    caps mon = "allow r"
    caps osd = "allow rwx pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]# 


    2 "ceph auth get-or-create"创建用户
[root@ceph141 ~]# ceph auth get client.yinzhengjie  # 查看用户不存在
Error ENOENT: failed to find client.yinzhengjie in keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get-or-create client.yinzhengjie mon 'allow r' osd 'allow rwx'  # 如果用户不存在则直接创建并返回认证信息
[client.yinzhengjie]
    key = AQBzQbxleO+BChAALlM0Earyd2E+TwPs+G0KYw==
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.yinzhengjie  # 再次查看用户,发现创建成功
[client.yinzhengjie]
    key = AQBzQbxleO+BChAALlM0Earyd2E+TwPs+G0KYw==
    caps mon = "allow r"
    caps osd = "allow rwx"
exported keyring for client.yinzhengjie
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get-or-create client.yinzhengjie mon 'allow rwx' osd 'allow r'  # 如果用户已存在,再次创建会报错
Error EINVAL: key for client.yinzhengjie exists but cap mon does not match
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.yinzhengjie  # 很明显,上一条命令没有执行成功
[client.yinzhengjie]
    key = AQBzQbxleO+BChAALlM0Earyd2E+TwPs+G0KYw==
    caps mon = "allow r"
    caps osd = "allow rwx"
exported keyring for client.yinzhengjie
[root@ceph141 ~]# 


    3 "ceph auth get-or-create-key"创建用户
[root@ceph141 ~]# ceph auth get client.k8s  # 注意,用户是不存在的
Error ENOENT: failed to find client.k8s in keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get-or-create-key client.k8s mon 'allow r' osd 'allow rwx'  # 创建用户并返回KEY
AQBkQrxlR6aVGBAAerMOjQ5Nah/HYafJu+aTsg==
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.k8s  # 再次查看用户信息
[client.k8s]
    key = AQBkQrxlR6aVGBAAerMOjQ5Nah/HYafJu+aTsg==
    caps mon = "allow r"
    caps osd = "allow rwx"
exported keyring for client.k8s
[root@ceph141 ~]# 


    4 "ceph auth print-key"打印已经存在用户的KEY
[root@ceph141 ~]# ceph auth get client.jasonyin  # 如果用户不存在则报错
Error ENOENT: failed to find client.jasonyin in keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth print-key client.jasonyin2020 | more   # 如果用户存在则打印该用户对应的KEY信息。
AQD3QLxldlFsFBAAXV+S18R6Y8Cel11QRzs5XA==
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020
[client.jasonyin2020]
    key = AQD3QLxldlFsFBAAXV+S18R6Y8Cel11QRzs5XA==
    caps mon = "allow r"
    caps osd = "allow rwx pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]#

4.修改用户权限,直接覆盖权限

参考链接:
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/#modify-user-capabilities

[root@ceph141 ~]# ceph auth get client.jasonyin2020
[client.jasonyin2020]
    key = AQD3QLxldlFsFBAAXV+S18R6Y8Cel11QRzs5XA==
    caps mon = "allow r"
    caps osd = "allow rwx pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth caps client.jasonyin2020 mon 'allow rx' osd 'allow r pool=yinzhengjie'
updated caps for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020
[client.jasonyin2020]
    key = AQD3QLxldlFsFBAAXV+S18R6Y8Cel11QRzs5XA==
    caps mon = "allow rx"
    caps osd = "allow r pool=yinzhengjie"
exported keyring for client.jasonyin2020
[root@ceph141 ~]#

5.删除用户

参考链接:
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/#delete-a-user

[root@ceph141 ~]# ceph auth get client.jasonyin2020
[client.jasonyin2020]
    key = AQD3QLxldlFsFBAAXV+S18R6Y8Cel11QRzs5XA==
    caps mon = "allow rx"
    caps osd = "allow r pool=yinzhengjie"
exported keyring for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth del client.jasonyin2020  # 删除名为"jasonyin2020"的普通用户(client)。
updated
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020
Error ENOENT: failed to find client.jasonyin2020 in keyring
[root@ceph141 ~]#

二.ceph用户的备份和恢复

参考链接:
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/#get-a-user
    https://docs.ceph.com/en/nautilus/rados/operations/user-management/#import-a-user-s

1.创建测试用户

[root@ceph141 ~]# ceph auth add client.jasonyin2020 mon 'allow rwx' osd 'allow r pool=yinzhengjie-rbd'
added key for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]#

2.导出用户到文件,用于模拟备份

[root@ceph141 ~]# ceph-authtool --create-keyring ceph.client.jasonyin2020.keyring  # 说白了,只是创建了一个普通文件。
creating ceph.client.jasonyin2020.keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ll ceph.client.jasonyin2020.keyring 
-rw------- 1 root root 0 Feb  2 09:28 ceph.client.jasonyin2020.keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020 -o ceph.client.jasonyin2020.keyring  # 将内容导出到指定文件
exported keyring for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# cat ceph.client.jasonyin2020.keyring 
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth export client.jasonyin2020 -o jasonyin2020.keyring  # 也可以使用这种方式导入用户信息到文件
export auth(key=AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==)
[root@ceph141 ~]# 
[root@ceph141 ~]# cat jasonyin2020.keyring
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
[root@ceph141 ~]# 


温馨提示:
    上述命令也可执行为:"ceph auth get client.jasonyin2020 > ceph.client.jasonyin2020.keyring"

3.删除用户

[root@ceph141 ~]# ceph auth get client.jasonyin2020 
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth del client.jasonyin2020 
updated
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020 
Error ENOENT: failed to find client.jasonyin2020 in keyring
[root@ceph141 ~]#

4.导入用户,用于模拟恢复

[root@ceph141 ~]# cat ceph.client.jasonyin2020.keyring 
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
[root@ceph141 ~]# 
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020 
Error ENOENT: failed to find client.jasonyin2020 in keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth import -i ceph.client.jasonyin2020.keyring 
imported keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020 
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]#

5.再次删除用户,使用jasonyin2020.keyring文件进行恢复

[root@ceph141 ~]# ceph auth del client.jasonyin2020 
updated
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020 
Error ENOENT: failed to find client.jasonyin2020 in keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth import -i jasonyin2020.keyring 
imported keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.jasonyin2020 
[client.jasonyin2020]
    key = AQDtRLxl0V3wFRAA8Cz4Vaeey+k049B761iRZA==
    caps mon = "allow rwx"
    caps osd = "allow r pool=yinzhengjie-rbd"
exported keyring for client.jasonyin2020
[root@ceph141 ~]#

三.导出授权文件并验证用户权限

1.创建用户

[root@ceph141 ~]# ceph auth get-or-create client.k3s mon 'allow r'  osd 'allow * pool=yinzhengjie-rdb'
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.k3s
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
    caps mon = "allow r"
    caps osd = "allow * pool=yinzhengjie-rdb"
exported keyring for client.k3s
[root@ceph141 ~]#

2.导出用户授权文件,钥匙环(keyring)

[root@ceph141 ~]# ceph auth export client.k3s -o ceph.client.k3s.keyring
export auth(key=AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==)
[root@ceph141 ~]# 
[root@ceph141 ~]# cat ceph.client.k3s.keyring
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
    caps mon = "allow r"
    caps osd = "allow * pool=yinzhengjie-rdb"
[root@ceph141 ~]#

3.拷贝授权文件前,观察客户端是否有查看集群的权限

[root@ceph144 ~]# ll /etc/ceph/
total 8
-rw-r--r-- 1 root root 264 Feb  1 16:51 ceph.conf
-rw-r--r-- 1 root root  92 Jun 30  2021 rbdmap
-rw------- 1 root root   0 Feb  1 16:50 tmpEYwKWU
[root@ceph144 ~]# 
[root@ceph144 ~]# cat /etc/ceph/ceph.conf 
[global]
fsid = 5821e29c-326d-434d-a5b6-c492527eeaad
public_network = 10.0.0.0/24
mon_initial_members = ceph141, ceph142, ceph143
mon_host = 10.0.0.141,10.0.0.142,10.0.0.143
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

[root@ceph144 ~]# 
[root@ceph144 ~]# ceph -s
2024-02-02 09:44:38.983 7f82e96cc700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,: (2) No such file or directory
2024-02-02 09:44:38.983 7f82e96cc700 -1 AuthRegistry(0x7f82e40662b8) no keyring found at /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,, disabling cephx
2024-02-02 09:44:39.010 7f82e96cc700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,: (2) No such file or directory
2024-02-02 09:44:39.010 7f82e96cc700 -1 AuthRegistry(0x7f82e40c7dc8) no keyring found at /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,, disabling cephx
2024-02-02 09:44:39.011 7f82e96cc700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,: (2) No such file or directory
2024-02-02 09:44:39.011 7f82e96cc700 -1 AuthRegistry(0x7f82e96cae78) no keyring found at /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,, disabling cephx
[errno 2] error connecting to the cluster
[root@ceph144 ~]#

4.将授权文件拷贝到客户端

[root@ceph141 ~]# scp ceph.client.k3s.keyring ceph144:/etc/ceph/

5.验证权限

[root@ceph144 ~]# ll /etc/ceph/ceph.c*
-rw-r--r-- 1 root root 124 Feb  2 09:45 /etc/ceph/ceph.client.k3s.keyring
-rw-r--r-- 1 root root 264 Feb  1 16:51 /etc/ceph/ceph.conf
[root@ceph144 ~]# 
[root@ceph144 ~]# ceph -s --user k3s
  cluster:
    id:     5821e29c-326d-434d-a5b6-c492527eeaad
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum ceph141,ceph142,ceph143 (age 40h)
    mgr: ceph141(active, since 39h), standbys: ceph143, ceph142
    osd: 7 osds: 7 up (since 16h), 7 in (since 16h)

  data:
    pools:   3 pools, 96 pgs
    objects: 74 objects, 114 MiB
    usage:   7.8 GiB used, 1.9 TiB / 2.0 TiB avail
    pgs:     96 active+clean

[root@ceph144 ~]# 
[root@ceph144 ~]# ceph --user k3s auth get client.k3s
Error EACCES: access denied
[root@ceph144 ~]#

5.服务端尝试修改k3s用户权限

[root@ceph141 ~]# ceph auth caps client.k3s  mon 'allow rx' 
updated caps for client.k3s
[root@ceph141 ~]# 

温馨提示:
    此处是不需要将授权文件导出并拷贝到144节点的,因为服务端权限已经修改过来了。
    客户端在连接服务端时并不需要说明自己的权限,而是只需要说明自己是哪个用户,以及对应的KEY即可。

6.客户端再次验证权限

[root@ceph144 ~]# cat /etc/ceph/ceph.client.k3s.keyring   # 此处我故意删除了caps相关字段,发现依旧是可以认证的。
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
[root@ceph144 ~]# 
[root@ceph144 ~]# ceph --user k3s auth get client.k3s  # 很明显,客户端可以查看用户的权限信息啦。
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
    caps mon = "allow rx"
exported keyring for client.k3s
[root@ceph144 ~]# 
[root@ceph144 ~]# rbd --user k3s ls -p yinzhengjie-rbd
2024-02-02 09:57:12.134 7fea59519c80 -1 librbd::api::Image: list_images: error listing v1 images: (1) Operation not permitted
rbd: listing images failed: (1) Operation not permitted
[root@ceph144 ~]#

7.服务端再次修改权限

[root@ceph141 ~]# ceph auth caps client.k3s  mon 'allow *'  osd 'allow *' 
updated caps for client.k3s
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph auth get client.k3s
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
    caps mon = "allow *"
    caps osd = "allow *"
exported keyring for client.k3s
[root@ceph141 ~]#

8.客户端再次验证权限

[root@ceph144 ~]# rbd --user k3s ls -p yinzhengjie-rbd
k3s
k8s
mysqld
rbd-snap
wordpress
[root@ceph144 ~]# 
[root@ceph144 ~]# cat /etc/ceph/ceph.client.k3s.keyring 
[client.k3s]
    key = AQDqR7xlyS+TIxAA9aW9AeUTdJcV/xoKmErBgw==
[root@ceph144 ~]#

9.ceph-authtool命令将用户的keyring合并至一个统一的keyring文件

[root@ceph141 ~]# ceph auth get osd.0 -o ./yinzhengjie.keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# cat ./yinzhengjie.keyring
[osd.0]
        key = AQAp6MVmUxYtNhAAg/UbI5IrHoAlXgF5THKr8w==
        caps mgr = "allow profile osd"
        caps mon = "allow profile osd"
        caps osd = "allow *"
[root@ceph141 ~]# 
[root@ceph141 ~]# ceph-authtool --import-keyring /etc/ceph/ceph.client.admin.keyring ./yinzhengjie.keyring
importing contents of /etc/ceph/ceph.client.admin.keyring into ./yinzhengjie.keyring
[root@ceph141 ~]# 
[root@ceph141 ~]# cat ./yinzhengjie.keyring
[osd.0]
        key = AQAp6MVmUxYtNhAAg/UbI5IrHoAlXgF5THKr8w==
        caps mgr = "allow profile osd"
        caps mon = "allow profile osd"
        caps osd = "allow *"
[client.admin]
        key = AQD348VmF2HCJRAAuwU/bXJR2WeYJaoaIMz0ag==
        caps mds = "allow *"
        caps mgr = "allow *"
        caps mon = "allow *"
        caps osd = "allow *"
[root@ceph141 ~]#

10 导出授权文件并验证用户权限总结

    1 如果使用"--user k3s"指定用户,则默认去找以下文件,找不到就报错:
- /etc/ceph/ceph.client.k3s.keyring
- /etc/ceph/ceph.keyring
- /etc/ceph/keyring
- /etc/ceph/keyring.bin


    2 如果不使用"--user"选项,咱们可以立即为默认为"--user amdin"
- /etc/ceph/ceph.client.admin.keyring
- /etc/ceph/ceph.keyring
- /etc/ceph/keyring
- /etc/ceph/keyring.bin


    3 对于认证文件不能随便起名字。
而是需要遵循上述2条的规范文件命名,否则ceph不识别用户的配置文件


    4 客户端在连接ceph集群时,仅需要读取keyring文件中的KEY值。
其他caps字段会被忽视。也就是说,对于文件中只要保留key值依旧是有效的。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
11月前
|
存储 监控 关系型数据库
ceph简介及高可用集群搭建
ceph简介及高可用集群搭建
|
存储 算法 关系型数据库
【CEPH-初识篇】ceph详细介绍、搭建集群及使用,带你认识新大陆
你好,我是无名小歌。 今天给大家分享一个分布式存储系统ceph。 什么是ceph? Ceph在一个统一的系统中独特地提供对象、块和文件存储。Ceph 高度可靠、易于管理且免费。Ceph 的强大功能可以改变您公司的 IT 基础架构和管理大量数据的能力。Ceph 提供了非凡的可扩展性——数以千计的客户端访问 PB 到 EB 的数据。ceph存储集群相互通信以动态复制和重新分配数据。
1212 0
【CEPH-初识篇】ceph详细介绍、搭建集群及使用,带你认识新大陆
|
16天前
|
块存储
ceph集群的OSD设备扩缩容实战指南
这篇文章详细介绍了Ceph集群中OSD设备的扩容和缩容过程,包括如何添加新的OSD设备、如何准备和部署,以及如何安全地移除OSD设备并从Crushmap中清除相关配置。
50 4
|
域名解析 存储 块存储
ceph集群的搭建
ceph集群的搭建
349 1
|
块存储
ceph集群的搭建(下)
ceph集群的搭建
152 0
|
存储 Kubernetes 关系型数据库
K8s部署分布式存储Ceph系统搭建与实战
K8s部署分布式存储Ceph系统搭建与实战
1241 0
|
存储 Prometheus Kubernetes
实战篇:使用rook在k8s上搭建ceph集群
实战篇:使用rook在k8s上搭建ceph集群
823 0
|
网络协议 块存储
部署Ceph分布式高可用集群中篇(下)
部署Ceph分布式高可用集群中篇(下)
291 0
部署Ceph分布式高可用集群中篇(下)
部署Ceph分布式高可用集群中篇(中)
部署Ceph分布式高可用集群中篇(中)
174 0
部署Ceph分布式高可用集群中篇(中)