部署PX

Deploy PX

概述

1. Daemonset

PX在K8S环境中是用daemonset模式部署,整个部署过程完全容器化和自动化。

PX的daemonset里是oci-monitor容器。它是一个辅助功能的容器,只负责部署,启停和监控, 不负责实际的存储功能。oci-monitor容器会自动拉取和解压px-enteprise镜像,部署由systemd控制的px-runc容器。整体控制流如下:

kubelet => docker => oci-monitor => systemd => runc => px-enterprise

PX的daemonset部署在kube-system的租户下,有Node Affinity (节点亲和性), 只会扩展到有px/enabled=true的节点上。

Daemonset使用yaml文件定义,建议使用pxtools工具集里的px-yaml.sh脚本生成和修改这些yaml文件。

2. CSI

PX对K8S CSI的支持目前处在“技术预览(technical preview)"状态,所以此章节的部署模式不支持CSI

circle-info

如果需要预览PX对K8S CSI的支持,请参考章节”K8S CSI

步骤

1. 编写px-opts文件

px-opts文件包含PX的运行参数,以下为示例描述了一个有"双网卡"和"双数据盘"的基本配置:

px-opts常用参数:

参数

解释

-c <id>

PX集群名,建议添加UUID后缀以保证全局唯一

-k <etcd://host:port>

Etcd地址,Etcd集群的节点地址用逗号隔开

-s <device path>

数据盘路径,多个盘路径叠加示例:-s /dev/sdb, -s /dev/sdc

-d <ethX>

数据网卡设备名

-m <ethX>

管理网卡设备名

-x kubernetes

编排软件为Kubernetes

-j auto

日志缓冲盘分区

-secrect_type kvdb

秘钥存储为Etcd,用于保存连接第三方服务的登陆信息

circle-info

PX的所有运行参数请参见本章”附录“

circle-exclamation

2. 创建yaml文件

px-yaml.sh oci 常用参数:

参数

默认值

解释

-f, --file

./px-opts.txt

px-opts文件路径

-r, --registry

daocloud.io/portworx

镜像仓库地址

-t,--tag

latest

PX版本

-p,--policy

IfNotPresent

镜像拉取策略

-s,--secret

NULL

k8s镜像仓库登陆秘钥

-c,--csi

false

使用CSI

3. 部署oci-monitor容器

4. 给需要部署PX的节点打标签

circle-exclamation

5. 查看PX部署日志

有三个方法查看日志:

6. 查看PX状态

附录

PX运行参数

Last updated