跳转至

基础-T版-05-命令实战

环境准备

检查集群状态

nova service-list ; cinder service-list ; neutron agent-list

初始化加载管理员账户

1.初始化管理员账户

cat >./admin_openrc<<EOF
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
EOF
source admin_openrc

2.验证方式如下

nova service-list ; cinder service-list ; neutron agent-list

普通账户

1.创建一个chrisproject项目

openstack project create chrisproject

2.创建一个chris用户并加入到chrisproject项目,设置密码为chrispasswd

openstack user create --project chrisproject --password chrispasswd chris

3.设置chrisproject用户有user角色的权限

openstack role add --project chrisproject --user chris myrole

4.初始化普通用户

cat >/root/chris-openrc<<EOF
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=chrisproject
export OS_USERNAME=chris
export OS_PASSWORD=chrispasswd
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
EOF
source /root/chris-openrc

5.验证方式如下:

nova list

上传镜像

[root@controller ~]# source /root/admin-openrc 
[root@controller ~]# glance image-list
+--------------------------------------+----------------------+
| ID                                   | Name                 |
+--------------------------------------+----------------------+
| faa80086-962d-4dee-9925-ba8be0319c23 | centos79200920220510 |
| 8ff3f7a5-e56d-4c74-97a7-ea35d7e4b8ac | cirros               |
+--------------------------------------+----------------------+

source /root/admin-openrc
 glance image-create --name "centos79200920220510" \
  --file /var/lib/glance/images/centos79200920220510.qcow2 \
  --disk-format qcow2 --container-format bare \
  --property hw_qemu_guest_agent=yes \
  --property os_type="linux" \
  --visibility public \
  --progress
openstack image list

创建Flavor

1.加载admin环境变量

source /root/admin-openrc 

2.创建常用flavor

openstack flavor create --id e20afd2f-dab2-4516-b82f-2273bd1e9001 --vcpus 1 --ram 1024 --disk 200 1C1G
openstack flavor create --vcpus 1 --ram 2048 --disk 200 1C2G
openstack flavor create --vcpus 2 --ram 4096 --disk 200 2C4G
openstack flavor create --vcpus 4 --ram 8192 --disk 200 4C8G
openstack flavor create --vcpus 2 --ram 2048 --disk 200 2C2G

3.验证flavor是否创建完毕

openstack flavor list

创建网络

1.加载user环境变量

source /root/chris-openrc

2.创建user网络

openstack network create chris_network01
openstack network create chris_network02
openstack network create chris_network03

3.验证user网络是否创建成功

openstack network list

创建子网

1.加载user环境变量

source /root/chris-openrc

2.创建user子网

openstack subnet create --subnet-range 172.16.1.0/24 --network chris_network01 --dns-nameserver 114.114.114.114 chris_network01_subent01

openstack subnet create --subnet-range 172.17.1.0/24 --network chris_network02 --dns-nameserver 114.114.114.114 chris_network02_subent01

openstack subnet create --subnet-range 172.18.1.0/24 --network chris_network03 --dns-nameserver 114.114.114.114 chris_network03_subent01

3.验证user子网是否创建成功

openstack subnet list

创建路由

1.加载admin环境变量

source /root/admin-openrc 
  1. 查看公网网络名称
openstack network list

3.查看公网子网名称

openstack subnet list

4.加载user环境变量

source /root/demo_test01_openrc

5.创建路由

openstack router create  chris_network01_router01

6.创建子网并绑定到路由上

openstack router add subnet  chris_network01_router01 chris_network01_subent01

7.设置路由绑定网关

openstack router set --external-gateway provider chris_network01_router01

8.查看验证路由信息

openstack router show chris_network01_router01

浮动IP申请

openstack floating ip create  provider

浮动IP查询

openstack floating ip list

浮动IP释放

openstack floating ip delete $UUID

创建安全组

1.加载user环境变量

source /root/chris-openrc 

2.创建安全组

openstack security group create --description "demo_test01_security_group" chris_security_group01

3.设置安全组规则(22/3389/icmp允许通过)

openstack security group rule create --proto icmp chris_security_group01
openstack security group rule create --proto tcp --dst-port 22 chris_security_group01
openstack security group rule create --proto tcp --dst-port 3389 chris_security_group01

4.验证检查安全组

openstack security group show  chris_security_group01

创建key免密

1.加载user环境变量

source /root/chris-openrc

2.现在我们使用ssh-keygen命令来生成一对秘钥对

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

3.创建os租户密钥对

openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey

4.查看os租户密钥对

openstack keypair list

5.创建虚拟机如何引用密钥对

--key-name mykey

准备创建VM

查看flavor

[root@controller ~]# openstack flavor list
+--------------------------------------+---------+------+------+-----------+-------+-----------+
| ID                                   | Name    |  RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+---------+------+------+-----------+-------+-----------+
| 0                                    | m1.nano |   64 |    1 |         0 |     1 | True      |
| e20afd2f-dab2-4516-b82f-2273bd1e9001 | 1C1G    | 1024 |  200 |         0 |     1 | True      |
| e20afd2f-dab2-4516-b82f-2273bd1e9002 | 1C2G    | 2048 |  200 |         0 |     1 | True      |
| e20afd2f-dab2-4516-b82f-2273bd1e9003 | 2C4G    | 4096 |  200 |         0 |     2 | True      |
| e20afd2f-dab2-4516-b82f-2273bd1e9004 | 4C8G    | 8192 |  200 |         0 |     4 | True      |
+--------------------------------------+---------+------+------+-----------+-------+-----------+

查看网络

openstack network list
openstack subnet list

查看子网

openstack subnet list

查看路由

openstack router show demo_test01_router01

查看安全组

openstack security group show demo_test01_security_group

开始创建VM

权限切换

授权demo_test01用户admin权限

source /root/admin-openrc 
openstack role add --project demo_test01 --user demo_test01 admin
source /root/demo_test01_openrc 

取消授权demo_test01用户admin权限

source /root/admin-openrc 
openstack role remove --project demo_test01 --user demo_test01 admin
source /root/demo_test01_openrc 

准备信息

根据以上命令我们可以获取到如下信息:

--flavor 2C2G
--image faa80086-962d-4dee-9925-ba8be0319c23
--nic net-name=chris_network01
--security-group chris_security_group01
--key-name chriskey

--admin-pass 12345678

创建带本地磁盘的虚拟机

切换到普通用户

source /root/chris-openrc

1.创建虚拟机(指定IP)

nova boot \
--flavor 2C2G \
--image faa80086-962d-4dee-9925-ba8be0319c23 \
--nic net-name=chris_network01,v4-fixed-ip=172.16.1.11 \
--security-group chris_security_group01 \
--key-name chriskey \
chris_vm01_static_ip

2.创建虚拟机(随机IP)

nova boot \
--flavor 2C2G \
--image faa80086-962d-4dee-9925-ba8be0319c23 \
--nic net-name=chris_network01 \
--security-group chris_security_group01 \
--key-name chriskey \
chris_vm01_dhcp_ip

3.验证创建的虚拟机

nova list
openstack server list

创建带云硬盘虚拟机

1.创建虚拟机(随机IP)

nova boot \
--flavor 2C2G \
--nic net-name=chris_network01 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
chris_vm02

2.验证创建的虚拟机

nova list
openstack volume list

创建带云硬盘虚拟机(多网卡)

1.创建虚拟机

nova boot \
--flavor 2C2G \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
--nic net-name=chris_network01 \
--nic net-name=chris_network02 \
--nic net-name=chris_network03 \
chris_vm03

2.验证创建的虚拟机

nova list
openstack volume list

创建带云硬盘虚拟机(多磁盘)

1.创建虚拟机

nova boot \
--flavor 2C2G \
--nic net-name=chris_network01 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
--block-device dest=volume,size=10 \
--block-device dest=volume,size=10 \
--block-device dest=volume,size=10 \
chris_vm04

2.验证创建的虚拟机

nova list
openstack volume list

创建带云硬盘虚拟机(浮动IP)

1.创建虚拟机(随机IP)

nova boot \
--flavor 2C2G \
--nic net-name=chris_network01 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
chris_vm05

2.申请浮动IP

neutron floatingip-create ext-net

3.查看申请的浮动IP

openstack floating ip list

4.绑定申请的浮动IP

绑定浮动IP

vm_prot_uuid=$(nova interface-list $vm_name|grep "172.16.10"|awk -F "|" '{print $3}'|xargs)
neutron floatingip-associate $floating_ip_uuid $vm_prot_uuid 

[root@172e28e12e165 ~]# neutron floatingip-associate 4423cb1c-a4c0-457b-a868-3855129e50fc  7e2a30c8-a16b-4301-b5c5-5e284a631925

管理VM

查询虚拟机列表

[root@controller ~]# nova list
[root@controller ~]# openstack server list
[root@controller ~]# openstack server list --all
[root@controller ~]# openstack server list --all --long

查询虚拟机详细信息

[root@controller ~]# nova show demo_test01_vm05

查询虚拟机动作日志

[root@controller ~]# nova instance-action-list demo_test01_vm05
+--------+------------------------------------------+---------+----------------------------+----------------------------+
| Action | Request_ID                               | Message | Start_Time                 | Updated_At                 |
+--------+------------------------------------------+---------+----------------------------+----------------------------+
| create | req-e0f08b89-a6ad-4869-ae7c-46f03712139c | -       | 2022-06-01T09:13:46.000000 | 2022-06-01T09:15:53.000000 |

重置虚拟机状态

nova reset-state eec6d2f8-f295-417c-8d12-c31ea005c689 --active

查看虚拟机日志

第一种方法:

[root@controller ~]# nova console-log demo_test01_vm05

第二种方法:

在虚拟机所在的compute节点上找到log文件:

通过virsh dumpxml指令,找到如下关键段:

<console type='file'>
      <source path='/var/lib/nova/instances/842d5f63-6c0f-4582-8237-076ccc29e759/console.log'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
</console>

再到相应的目录下即可:

root@compute-1:~# cd /var/lib/nova/instances/842d5f63-6c0f-4582-8237-076ccc29e759
root@compute-1:/var/lib/nova/instances/842d5f63-6c0f-4582-8237-076ccc29e759# ls
console.log  disk  disk.config  disk.info  libvirt.xml

关闭虚拟机

[root@controller ~]# nova stop demo_test01_vm05

启动虚拟机

[root@controller ~]# nova start demo_test01_vm05

重启虚拟机

[root@controller ~]# nova reboot demo_test01_vm01

挂起虚拟机

[root@controller ~]# nova suspend demo_test01_vm01

恢复虚拟机

[root@controller ~]# nova resume demo_test01_vm01

重装虚拟机

nova rebuild --meta admin_pass=www.123 demo_test01_vm01 6be2a276-85dc-4e5b-ab0a-a1ae8fdaa09e

重置密码

[root@controller ~]# nova set-password demo_test01_vm01

调整虚拟机规格

[root@controller ~]# openstack flavor list
[root@controller ~]# openstack server resize --flavor 2C4G chris_vm03
[root@controller ~]# nova resize-confirm chris_vm03

查询虚拟机vnc地址

nova get-vnc-console demo_test01_vm01 novnc|awk -F "|" '{print $3}'|xargs
openstack console url show huxining-20201011-49

openstack console url show  centos79001

查询虚拟机console log日志

openstack console log show huxining-20201011-49

申请浮动IP

neutron net-list
neutron floatingip-create provider
openstack floating ip create provider

绑定浮动IP

查看申请的浮动IP

neutron floatingip-list
openstack floating ip list

绑定浮动IP

vm_prot_uuid=$(nova interface-list $vm_name|grep "172.16.10"|awk -F "|" '{print $3}'|xargs)
neutron floatingip-associate $floating_ip_uuid $vm_prot_uuid 

[root@172e28e12e165 ~]# neutron floatingip-associate 4423cb1c-a4c0-457b-a868-3855129e50fc  7e2a30c8-a16b-4301-b5c5-5e284a631925

openstack server add floating ip chris_vm03 203.0.113.192

解绑浮动IP

[root@172e28e12e165 ~]# openstack server remove floating ip demo_test01_vm01 172.28.15.162

释放浮动IP

查看申请的浮动IP

[root@172e28e12e165 ~]# neutron floatingip-list
[root@172e28e12e165 ~]# openstack floating ip delete 172.28.15.138

添加网卡

openstack server add fixed ip --fixed-ip-address 172.16.${num}.${ip_num} $vm_name $network_name$num

添加两块网卡

[root@172e28e12e165 ~]# neutron net-list
[root@172e28e12e165 ~]# openstack server add fixed ip --fixed-ip-address 172.16.2.11 demo_test01_vm01 demo_test01_network02
[root@172e28e12e165 ~]# openstack server add fixed ip --fixed-ip-address 172.16.3.11 demo_test01_vm01 demo_test01_network03

删除网卡

[root@172e28e12e165 ~]# nova interface-list demo_test01_vm01
nova interface-detach <server> <port_id>

openstack server remove fixed ip chris_vm01_static_ip 172.17.1.11

[root@172e28e12e165 ~]# nova interface-detach demo_test01_vm01  c4dd0302-3ce6-4ec2-b9ce-3b7789fcf289
[root@172e28e12e165 ~]# nova interface-detach demo_test01_vm01  6965d262-9d38-4382-917a-7f9de2a16c22

创建云硬盘

查看volume类型

[root@172e28e12e165 ~]# openstack volume type list

openstack volume create --size $vm_disk_size --type $volume_type --count 1 ${vm_name}_${volume_name} &>/dev/null

创建一个500GB的云硬盘

[root@172e28e12e165 ~]# openstack volume create --size 500 --type default --count 1 demo_test01_vm01_volume_disk01

查看云硬盘

[root@172e28e12e165 ~]# openstack volume list

挂载云硬盘

查看创建的云硬盘

[root@172e28e12e165 ~]# openstack volume list

openstack server add volume --device $device_name $vm_name ${vm_name}_${volume_name} &>/dev/null

挂载云硬盘

[root@172e28e12e165 ~]# openstack server add volume --device /dev/vdb demo_test01_vm01  demo_test01_vm01_volume_disk01

调整云硬盘

openstack volume set --size <size> <volume>

[root@172e28e12e165 ~]# openstack volume set --size 10000 demo_test01_vm01_volume_disk01

[root@172e28e12e165 ~]# openstack volume set --size 10 demo_test01_vm01_volume_disk01

卸载云硬盘

openstack server remove volume <server> <volume>

[root@172e28e12e165 ~]# openstack server remove volume demo_test01_vm01 demo_test01_vm01_volume_disk01

删除云硬盘

openstack volume delete <volume>

[root@172e28e12e165 ~]# openstack volume delete demo_test01_vm01_volume_disk01

删除虚拟机卷

cinder delete feee18fa-4cb5-4d81-be2c-43cd6c220b8f 
cinder list-delete-confirm-resources
cinder delete-confirm d1c22510-fb02-4645-8945-96e2468797e7

创建卷快照

openstack volume snapshot create --volume  ceph01 ceph01-kuaizhao01
openstack volume snapshot list

恢复卷快照

openstack volume create  --size 10  --snapshot ceph01-kuaizhao01  ceph02 --type ceph

设置router gateway无限速

此功能可以开启租户网段打通出外网(默认租户网段无法出外网,需要绑定浮动ip才能出)

(选择 ext-net)
openstack network list
openstack router list
openstack router set --no-qos-policy --enable-snat --external-gateway net-id router-id
openstack router set --no-qos-policy --enable-snat --external-gateway 3e490fbe-6da7-46e0-a3d6-529d3ac34e26 ccce747a-5416-4bb8-9e2e-240b8f3d5c48

此功能可以关闭租户网段打通出外网(默认租户网段无法出外网,需要绑定浮动ip才能出)

(选择 ext-net)
openstack network list
openstack router list
openstack router set --no-qos-policy --disable-snat --external-gateway net-id router-id
openstack router set --no-qos-policy --disable-snat --external-gateway 3e490fbe-6da7-46e0-a3d6-529d3ac34e26 ccce747a-5416-4bb8-9e2e-240b8f3d5c48

删除fip限速规则

openstack port list
openstack floating ip list
openstack floating ip set --port c3659a5e-43bb-42ad-b6e5-510dc12071c8 --no-qos-policy 49.7.12.45

允许内核转发功能

方式一:放开allow_address_pair 权限

查询port id

nova interface-list b365a78b-3c0a-4f0c-8fc2-7667204f52e5

放开当前机器allow_address_pair 权限

neutron port-update --allowed-address-pair ip_address=0.0.0.0/0 PORT_ID

救援虚拟机

开启救援模式
nova rescue --password 123 --image faa80086-962d-4dee-9925-ba8be0319c23  chris_vm03
关闭救援模式
nova unrescue 5ec5fed5-90ac-464e-a584-6b303c29ff0a

锁定虚拟机

将虚拟机进行锁定
openstack server lock chris_vm03

将虚拟机进行解锁
openstack server unlock chris_vm03

虚拟机热迁移

热迁移单个虚拟机

source /root/admin-openrc
openstack server list --long --all
nova live-migration eb77e2dc-1516-424a-81fe-e5a1c78cc6e2 compute1
openstack server list --long --all

热迁移批量虚拟机

source /root/admin-openrc
openstack server list --long --all
nova host-evacuate-live --target-host compute3 compute1
openstack server list --long --all

集群管理

查看集群nova服务

nova service-list

查看集群neutron服务

neutron agent-list

查看集群cinder服务器

cinder service-list

查看计算节点

nova hypervisor-list

查看计算节点上的虚拟机

nova hypervisor-servers  hb02-compute-10e114e194e16

设置计算节点超配比

nova hypervisor-list
nova hypervisor-get-ratio 8bd04dcb-5676-4c29-b504-6121403714c6
nova hypervisor-set-ratio --cpu 10.0 --ram 10.0 --disk 0 e409d1f2-b3ad-43e5-8779-66fd69b98bbb
nova hypervisor-show e409d1f2-b3ad-43e5-8779-66fd69b98bbb


[root@compute2 ~]# vi /etc/nova/nova.conf 
disk_allocation_ratio = 10.0
cpu_allocation_ratio = 10.0
ram_allocation_ratio = 5.0

将计算节点下线

nova service-list
nova  service-disable 154ad59a-d986-446e-91ac-fab6dbf47f0b
nova  service-enable 154ad59a-d986-446e-91ac-fab6dbf47f0b
nova  service-delete 154ad59a-d986-446e-91ac-fab6dbf47f0b
cinder service-disable js03-test-10e0e0e3 cinder-backup
cinder service-enable js03-test-10e0e0e3 cinder-backup
cinder service-delete js03-test-10e0e0e3 cinder-backup
neutron agent-delete 154ad59a-d986-446e-91ac-fab6dbf47f0b
nova service-delete fa56e1f0-696a-4493-9728-2ce2cd27bf91

进入网络命名空间

ip netns
ip netns exec snat-6fd1d400-c1d7-48e1-a665-16bbebb7cad6 ip a
ip netns exec snat-6fd1d400-c1d7-48e1-a665-16bbebb7cad6 bash

查看计算节点资源

nova hypervisor-list
nova hypervisor-show d551c4af-b4e6-4094-95df-8fd87a6e1810
nova hypervisor-stats

k8s集群

创建虚拟机

nova boot \
--flavor 2C4G \
--nic net-name=chris_network01,v4-fixed-ip=172.16.1.11 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
master

nova boot \
--flavor 2C4G \
--nic net-name=chris_network01,v4-fixed-ip=172.16.1.12 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
node1

部署master节点

欢迎使用蓝鲸提供的 bcs.sh 脚本快速部署 k8s 集群。 请在 第一台 master 机器(下文称为 初始 master,新手用户建议复用 中控机)上执行此命令:

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- -i k8s

安装成功后可以检查:

[root@linux-bkce-node225 ~]# kubectl get node
NAME                   STATUS   ROLES                  AGE    VERSION
master-192-168-1-225   Ready    control-plane,master   105s   v1.20.11

部署node节点

在 部署初始 master 章节,我们可以观察到脚本在结尾输出了 扩容控制平面 (即 master) 及 扩容节点 (即 node)的命令。 如果当时没有保存扩容命令,可以在 初始 master 机器上执行如下命令重新获取:

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- -i k8sctrl

masternode 机器的扩容命令不同,请勿混用。而同一类型的机器扩容命令相同。

登录到待扩容一批机器上粘贴对应的命令即可。假设我们要扩容 node,则需在 待扩容机器 上执行:

======================
  Kubernetes控制节点启动成功  
  扩容控制平面执行以下命令  
set -a 略
set +a
curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-control-plane
  扩容节点执行以下命令  
set -a 略
set +a
curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-node

[INFO]: LAN_IP: 192.168.1.225
  Welcome to BCS on bare-metal  

验证集群可用性

创建一个资源清单文件

cat >nginx-deployment.yaml<<\EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-deployment
        image: nginx:latest
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80       
EOF

更新资源清单文件

kubectl apply -f nginx-deployment.yaml

扩容node节点

创建虚拟机

nova boot \
--flavor 2C4G \
--nic net-name=chris_network01,v4-fixed-ip=172.16.1.13 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
node2

开启内核转发

方式一:放开allow_address_pair 权限

查询port id

nova interface-list b365a78b-3c0a-4f0c-8fc2-7667204f52e5

放开当前机器allow_address_pair 权限

neutron port-update --allowed-address-pair ip_address=0.0.0.0/0 PORT_ID

在 部署初始 master 章节,我们可以观察到脚本在结尾输出了 扩容控制平面 (即 master) 及 扩容节点 (即 node)的命令。 如果当时没有保存扩容命令,可以在 初始 master 机器上执行如下命令重新获取:

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- -i k8sctrl

masternode 机器的扩容命令不同,请勿混用。而同一类型的机器扩容命令相同。

登录到待扩容一批机器上粘贴对应的命令即可。假设我们要扩容 node,则需在 待扩容机器 上执行:

======================
  Kubernetes控制节点启动成功  
  扩容控制平面执行以下命令  
set -a 略
set +a
curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-control-plane
  扩容节点执行以下命令  
set -a 略
set +a
curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-node

[INFO]: LAN_IP: 192.168.1.225
  Welcome to BCS on bare-metal  

扩容master节点

创建虚拟机

nova boot \
--flavor 2C4G \
--nic net-name=chris_network01,v4-fixed-ip=172.16.1.10 \
--security-group chris_security_group01 \
--block-device id=faa80086-962d-4dee-9925-ba8be0319c23,source=image,dest=volume,bootindex=0,size=100,shutdown=remove \
master2

开启内核转发

方式一:放开allow_address_pair 权限

查询port id

nova interface-list b365a78b-3c0a-4f0c-8fc2-7667204f52e5

放开当前机器allow_address_pair 权限

neutron port-update --allowed-address-pair ip_address=0.0.0.0/0 PORT_ID