参考官方文档:www.cloudpods.org/zh/docs/qui…
第一步 创建阿里云的虚拟机
- 镜像:CentOS 7.9 64位
- 大小:8核16GB
- 系统盘:ESSD云盘 40GiB
- 数据盘:ESSD云盘 500GiB
- 公网带宽:10Mbps
- 安全组:入方向放通22、443、80
详细配置如下图所示:
第二步 格式化数据盘,并且挂载到 /opt
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# 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: 0x000b9530
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886046 41941999+ 83 Linux
Disk /dev/vdb: 107.4 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
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# blkid
/dev/vda1: UUID="1789040a-8eae-4544-a9b0-9951abfea580" TYPE="ext4"
/dev/vdb: UUID="ed6e8d1b-d1b4-44b0-af74-1303c9c77e84" TYPE="ext4"
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# vim /etc/fstab
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jun 13 02:47:19 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=1789040a-8eae-4544-a9b0-9951abfea580 / ext4 defaults 1 1
UUID=ed6e8d1b-d1b4-44b0-af74-1303c9c77e84 /opt ext4 defaults 0 0
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# mount -a
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs 7.6G 0 7.6G 0% /dev/shm
tmpfs 7.6G 552K 7.6G 1% /run
tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/vda1 40G 2.1G 36G 6% /
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/vdb 99G 61M 94G 1% /opt
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
`-vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk /opt
第三步 配置 SSH 免密登录
单机部署的话,也可以执行以下命令,可以避免输入 root 密码:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
以上不适用时,可以运行以下命令:
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:X94VtNUdPKBpaci9IlW1p9urE9xuKKqKN1gtt0FkHno root@iZ0jl10fhzj8uyn1mjtfijZ
The key's randomart image is:
+---[RSA 2048]----+
| ..ooo=|
| +. + + oo=|
| = .+ B . +.|
| . E. o . o .|
| +.S. .o.. .|
| o +...o +oo |
| o o o . ..=. |
| ..o . . o o.|
| ...o.... ..+. |
+----[SHA256]-----+
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.26.165.207 netmask 255.255.240.0 broadcast 172.26.175.255
inet6 fe80::216:3eff:fe04:c23 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:04:0c:23 txqueuelen 1000 (Ethernet)
RX packets 48240 bytes 69393454 (66.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7193 bytes 775274 (757.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.26.165.207
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '172.26.165.207 (172.26.165.207)' can't be established.
ECDSA key fingerprint is SHA256:qdAmn5QOGkF2hR/nUzraGFEkF3Jwuo00joSM9Fts77A.
ECDSA key fingerprint is MD5:05:73:a7:08:21:ab:96:f8:3b:4b:10:c7:74:09:ac:d6.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.26.165.207's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@172.26.165.207'"
and check to make sure that only the key(s) you wanted were added.
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# ssh 'root@172.26.165.207' hostname
iZ0jl10fhzj8uyn1mjtfijZ
第四步 安装 ansible 和 git
安装 ansible 报错:UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 117: ordinal not in range(128) 解决办法请见文末安装过程中的问题
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# yum install -y epel-release git python3-pip
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# python3 -m pip install --upgrade pip setuptools wheel
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# python3 -m pip install --upgrade ansible
第五步 下载 ocboot 工具
git clone -b release/3.10 https://github.com/yunionio/ocboot && cd ./ocboot
第六步 部署
[root@iZ0jl10fhzj8uyn1mjtfijZ ocboot]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.26.165.207 netmask 255.255.240.0 broadcast 172.26.175.255
inet6 fe80::216:3eff:fe04:c23 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:04:0c:23 txqueuelen 1000 (Ethernet)
RX packets 116606 bytes 169558354 (161.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12883 bytes 1808484 (1.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 129 bytes 26172 (25.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 129 bytes 26172 (25.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@iZ0jl10fhzj8uyn1mjtfijZ ocboot]# ./run.py 172.26.165.207
部署完成之后,系统就自动重启了。
第七步 登录系统
服务器重启之后,需要等 5 分钟左右,就可以访问了。
可以登录服务器看一下所有服务的启动状态。
[root@iZ0jl10fhzj8uyn1mjtfijZ ~]# kubectl get pods -n onecloud
NAME READY STATUS RESTARTS AGE
default-ansibleserver-85d747894c-5lxlc 1/1 Running 3 12m
default-apigateway-7bc7f655fc-lj84k 1/1 Running 3 12m
default-apimap-5c97585488-k95d2 1/1 Running 3 12m
default-climc-8bc77fbfc-8tmdm 1/1 Running 1 8m48s
default-cloudevent-7555dddfc9-xts49 1/1 Running 3 8m46s
default-cloudid-85b8f8b647-nc4fb 1/1 Running 3 8m45s
default-cloudmon-6bc44ddb95-fkl7s 1/1 Running 3 8m51s
default-cloudproxy-5c478c555f-89kbl 1/1 Running 3 8m47s
default-devtool-6958b9d5c4-nvfj5 1/1 Running 3 8m46s
default-esxi-agent-9d76f7d96-f75hs 1/1 Running 3 12m
default-etcd-9248b8zrxt 1/1 Running 0 2m37s
default-glance-5cc5dcf8ff-5qxns 1/1 Running 1 12m
default-host-deployer-2bhwg 1/1 Running 6 12m
default-influxdb-6ccd5f8db-vtq6t 1/1 Running 1 13m
default-keystone-79c4f9d6f7-4fxmn 1/1 Running 1 14m
default-kubeserver-6fd78cdcb-mw86c 1/1 Running 3 12m
default-logger-76d6c76f69-w577x 1/1 Running 1 8m45s
default-monitor-565d4b565c-dvspw 1/1 Running 3 12m
default-notify-6f48d6fb6f-brqgb 1/1 Running 1 8m46s
default-onecloud-service-operator-b649dccd9-vxp9s 1/1 Running 3 8m47s
default-ovn-north-7976cbf75f-h2dfv 1/1 Running 1 12m
default-region-dns-ng5t6 1/1 Running 1 12m
default-region-f644857d4-tfpbx 1/1 Running 1 13m
default-scheduledtask-5fd9895d8c-r7fc7 1/1 Running 1 8m48s
default-scheduler-77f754d4db-mv2zj 1/1 Running 3 12m
default-telegraf-5jbxl 1/1 Running 1 13m
default-vpcagent-7c54c5476d-vdnqp 1/1 Running 3 12m
default-web-74999fcb98-mchbk 1/1 Running 8 12m
default-webconsole-7f8c65745b-gfpcc 1/1 Running 3 8m46s
default-yunionconf-689d9c798-z24bs 1/1 Running 3 8m46s
onecloud-operator-78bc8bb9b4-sqwsc 1/1 Running 1 6m4s
因为我创建虚拟机的时候,就选择了放通 22、80、443 端口,所以可以直接访问,这一点注意一下,否则可能因为安全规则导致访问不了。
按照文档提示获取登录了登录信息。
web 地址:https://8.130.120.20/ (公有云上只能通过公网 IP 访问)
用户名:admin
用户密码:admin@123
输入用户名和密码后,进入系统:
可以正常访问页面,不过有提示,我登录系统之后,根据系统的提示,把内网IP设置成了公网IP,提示消失。
第八步 配置阿里云云账号以及对现有的资源进行操作
根据文档提示,获取到我自己的阿里云账号的 Access Key Id 和 Access Key Secret 然后填入表单,完成创建。