Skip to content

Commit

Permalink
Merge pull request #784 from zexi/update-readme-0505
Browse files Browse the repository at this point in the history
remove duplicated content
  • Loading branch information
zexi committed May 5, 2023
2 parents 24f1251 + 94e3ada commit c0b1c91
Showing 1 changed file with 3 additions and 260 deletions.
263 changes: 3 additions & 260 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,245 +53,10 @@ ocboot 可以很简单的在一台机器上部署 all in one 环境,也可以

#### 快速开始

如果只想在一个节点上部署一个当前最新版本的AllInOne demo,可以用如下命令快速开始。其中ip为待部署节点的用于通信的IP地址。

```bash
./run.py <ip>
```

对于某些网络环境,registry.cn-beijing.aliyuncs.com 访问缓慢或不可达,在版本 `v3.9.5`之后(含),可指定镜像源:docker.io](http://docker.io) 来安装。命令如下:

```bash
IMAGE_REPOSITORY=docker.io/yunion ./run.py <ip>
```

也可在修改文件的 `primary_master_node` 节点的 `image_repository` 字段为 `docker.io/yunion`

样例配置片段:

```yaml
primary_master_node:
hostname: 10.127.10.158
...
onecloud_version: 'v3.9.8'
...
image_repository: docker.io/yunion
```
#### 单节点 all in one 部署
假设已经准备好了 1 台 Centos 7 机器,它的 ip 是 `10.127.10.158`,我想在这台机器上 allinone 安装 OneCloud v3.8.8 版本。

```bash
# 编写 config-allinone.yml 文件
$ cat <<EOF >./config-allinone.yml
# mariadb_node 表示需要部署 mariadb 服务的节点
mariadb_node:
# 待部署节点 ip
hostname: 10.127.10.158
# 待部署节点登录用户
user: root
# mariadb 的用户
db_user: root
# mariadb 用户密码
db_password: your-sql-password
# clickhouse_node 表示运行 clickhouse 服务的节点
clickhouse_node:
use_local: true
user: root
ch_password: "your-clickhouse-password"
ch_port: 9000 # clickhouse port
# primary_master_node 表示运行 k8s 和 onecloud 服务的节点
primary_master_node:
hostname: 10.127.10.158
user: root
# onecloud 版本
onecloud_version: v3.9.8
# 数据库连接地址
db_host: 10.127.10.158
# 数据库用户
db_user: root
# 数据库密码
db_password: your-sql-password
# k8s 控制节点的 ip
controlplane_host: 10.127.10.158
# k8s 控制节点的端口
controlplane_port: "6443"
# onecloud 登录用户
onecloud_user: demo
# onecloud 登录用户密码
onecloud_user_password: demo@123
# 该节点作为 OneCloud 私有云计算节点(默认为 false)
as_host: true
# 虚拟机强行作为 OneCloud 私有云计算节点(默认为 false)。开启此项时,请确保as_host: true
as_host_on_vm: true
# 是否宿主机开启大页内存(宿主机为 x86_64 架构非控制节点默认开启,且内存超过 30G时生效,预留内存为总内存的10%,最大预留20G内存)
enable_hugepage: false
# k8s pod network CIDR:
pod_network_cidr: 10.40.0.0/16
# k8s service CIDR
service_cidr: 10.96.0.0/12
# k8s service DNS domain
service_dns_domain: 'cluster.local'
EOF
# 开始部署
$ ./ocboot.py install ./config-allinone.yml
....
# 部署完成后会有如下输出,表示运行成功
# 浏览器打开 https://10.127.10.158
# 使用 demo/demo@123 用户密码登录就能访问前端界面
Initialized successfully!
Web page: https://10.127.10.158
User: demo
Password: demo@123
```

#### 多节点部署

假设已经准备好了 4 台 Centos 7 机器,它的 ip 是 `10.127.10.156-160`,各个节点做出以下的规划:
- [All in One 安装](https://www.cloudpods.org/zh/docs/quickstart/allinone/):在 CentOS 7 或 Debian 10 等发行版里搭建全功能 Cloudpods 服务,可以快速体验**内置私有云****多云管理**的功能。
- [多节点高可用安装](https://www.cloudpods.org/zh/docs/setup/ha-ce/):在生产环境中使用高可用的方式部署 Cloudpods 服务,包括**内置私有云****多云管理**的功能。

- k8s master 节点: 10.127.10.156-158
- 其中 156 作为第一个部署的主节点并且运行 mariadb
- 这 3 个节点都可以调度运行 onecloud 控制服务
- k8s worker 节点: 10.127.10.159-160
- 这 2 个节点可以作为 onecloud 私有云计算节点

```bash
# 根据规划编写 config-nodes.yml 文件
$ cat <<EOF >./config-nodes.yml
mariadb_node:
hostname: 10.127.10.156
# 待部署节点 ssh 端口
port: 22
user: root
db_user: root
db_password: your-sql-password
primary_master_node:
onecloud_version: v3.9.8
hostname: 10.127.10.156
# 待部署节点 ssh 端口
port: 22
user: root
db_host: 10.127.10.156
db_user: root
db_password: your-sql-password
controlplane_host: 10.127.10.156
controlplane_port: "6443"
master_nodes:
hosts:
- hostname: 10.127.10.157
# 待部署节点 ssh 端口
port: 22
user: root
- hostname: 10.127.10.158
# 待部署节点 ssh 端口
port: 22
user: root
controlplane_host: 10.127.10.156
controlplane_port: "6443"
as_controller: true
worker_nodes:
hosts:
- hostname: 10.127.10.159
# 待部署节点 ssh 端口
port: 22
user: root
- hostname: 10.127.10.160
# 待部署节点 ssh 端口
port: 22
user: root
controlplane_host: 10.127.10.156
controlplane_port: "6443"
as_host: true
EOF
# 开始部署
$ ./ocboot.py install ./config-nodes.yml
```

#### 高可用部署

假设准备好了 3 台 CentOS7 机器,安装的成高可用的模式,以及双主的高可用数据库。规划如下:

role | ip | interface | note
----------------- | ------------- | ------------ | ------------------------------
k8s primary | 10.127.90.101 | eth0 | - |
k8s master 1 ,db1 | 10.127.90.102 | eth0 | pswd="0neC1oudDB#", port=3306|
k8s master 2 ,db2 | 10.127.90.103 | eth0 | pswd="0neC1oudDB#", port=3306|
k8s vip | 10.127.190.10 | - | - |
db vip | 10.127.190.11 | - | db_nic=eth0 |

```bash
# 填充变量,生成配置
DB_VIP="10.127.190.11"
DB_PORT=3306
DB_PSWD="0neC1oudDB#"
DB_USER=root
DB_NIC="eth0"
K8S_VIP=10.127.190.10
PRIMARY_INTERFACE="eth0"
PRIMARY_IP=10.127.90.101
MASTER_1_INTERFACE="eth0"
MASTER_1_IP=10.127.90.102
MASTER_2_INTERFACE="eth0"
MASTER_2_IP=10.127.90.103
cat > config-k8s-ha.yml <<EOF
mariadb_ha_nodes:
db_vip: $DB_VIP
db_user: "$DB_USER"
db_password: "$DB_PSWD"
db_port: $DB_PORT
db_nic: $DB_NIC
hosts:
- user: root
hostname: $MASTER_1_IP
- user: root
hostname: $MASTER_2_IP
primary_master_node:
hostname: $PRIMARY_IP
use_local: false
user: root
onecloud_version: "v3.9.8"
db_host: $DB_IP
db_user: "$DB_USER"
db_password: "$DB_PSWD"
db_port: "$DB_PORT"
skip_docker_config: true
image_repository: registry.cn-beijing.aliyuncs.com/yunionio
ha_using_local_registry: false
node_ip: "$PRIMARY_IP"
ip_autodetection_method: "can-reach=$PRIMARY_IP"
controlplane_host: $K8S_VIP
controlplane_port: "6443"
as_host: true
high_availability: true
use_ee: false
enable_minio: true
host_networks: "$PRIMARY_INTERFACE/br0/$PRIMARY_IP"
master_nodes:
controlplane_host: $K8S_VIP
controlplane_port: "6443"
as_controller: true
as_host: true
high_availability: true
hosts:
- user: root
hostname: "$MASTER_1_IP"
host_networks: "$MASTER_1_INTERFACE/br0/$MASTER_1_IP"
- user: root
hostname: "$MASTER_2_IP"
host_networks: "$MASTER_2_INTERFACE/br0/$MASTER_2_IP"
EOF
# 开始部署
$ ./ocboot.py install ./config-k8s-ha.yml
```

### 添加节点

Expand Down Expand Up @@ -328,29 +93,7 @@ $ ./ocboot.py add-lbagent --port 4567 --node-port 2222 $PRIMARY_IP $node_ip

### 升级节点

```bash
# 执行升级
$ ./ocboot.py upgrade <PRIMARY_HOST> v3.8.8
# 查看升级可选参数
$ ./ocboot.py upgrade -h
usage: ocboot.py upgrade [-h] [--user SSH_USER] [--key-file SSH_PRIVATE_FILE] [--port SSH_PORT] [--as-bastion]
FIRST_MASTER_HOST VERSION
positional arguments:
FIRST_MASTER_HOST onecloud cluster primary master host, e.g., 10.1.2.56
VERSION onecloud version to be upgrade
optional arguments:
-h, --help show this help message and exit
--user SSH_USER, -u SSH_USER
primary master host ssh user (default: root)
--key-file SSH_PRIVATE_FILE, -k SSH_PRIVATE_FILE
primary master ssh private key file (default: /home/lzx/.ssh/id_rsa)
--port SSH_PORT, -p SSH_PORT
primary master host ssh port (default: 22)
--as-bastion, -B use primary master node as ssh bastion host to run ansible
```
升级节点参考文档:[升级服务](https://www.cloudpods.org/zh/docs/setup/upgrade/)

### 备份节点

Expand Down

0 comments on commit c0b1c91

Please sign in to comment.