OpenStack Victoria版——7.1控制节点-Neutron网络服务组件

2024-09-08 10:32

本文主要是介绍OpenStack Victoria版——7.1控制节点-Neutron网络服务组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

7.1控制节点-Neutron网络服务组件

更多步骤:OpenStack Victoria版安装部署系列教程

OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。


文章目录

    • 一、创建neutron相关数据库、服务凭证和API端点
      • 1.创建neutron数据库
      • 2.创建neutron服务凭据
      • 3.创建neutron网络服务的API端点(endpoint)
    • 二、neutron相关软件安装与配置
      • 1.安装neutron相关软件
      • 2.配置网络选项一:Provider networks
        • (1)配置neutron服务组件
        • (2)配置模块化层2(ML2)插件
        • (3)配置Linux网桥代理
        • (4)配置DHCP代理
      • 3.创建网络选项一:provider networks
      • 4.配置网络选项二:Self-service networks
        • (1)配置neutron服务组件
        • (2)配置模块化层2(ML2)插件
        • (3)配置Linux网桥代理
        • (4)配置第3层L3代理
        • (5)配置DHCP代理
      • 5.创建网络选项二:Self-service networks
    • 三、配置元数据代理
    • 四、控制节点:为Nova配置网络服务
    • 五、控制节点:Neutron安装确认
      • 0.(可选)添加sudoer权限
      • 1.初始化安装网络插件
      • 2.填充数据库
      • 3.重新启动Compute API服务
      • 4.启动neutron网络服务并设置开机启动
      • 5.查看网络代理
    • 六、创建网络选项
      • 3.创建网络选项一:provider networks
        • (1)加载环境变量
        • (2)创建网络:provider
        • (3)检查确认网络配置
        • (4)创建子网:subnet
      • 5.创建网络选项二:Self-service networks
        • (1)加载环境变量
        • (2)创建网络
        • (3)检查确认网络配置
        • (4)创建子网:subnet
        • (5)创建路由器:router
    • 七、控制节点Neutron网络服务安装完成

一、创建neutron相关数据库、服务凭证和API端点

1.创建neutron数据库

首先使用root账户登录,此前安装MariaDb时密码设置为root

mysql -uroot -proot

创建数据库并授权,密码设置为111111

CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '111111';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '111111';
exit

2.创建neutron服务凭据

先加载环境变量source /admin-openrc.sh

source admin-openrc.sh

(1)创建neutron用户并设置密码为111111

openstack user create --domain default --password=111111 neutron
openstack user list

(2)将neutron授予admin角色,并添加到service项目
以下命令无输出

openstack role add --project service --user neutron admin

(3)创建neutron服务实体

openstack service create --name neutron --description "OpenStack Networking" network
openstack service list

3.创建neutron网络服务的API端点(endpoint)

创建Neutron服务API端口

openstack endpoint create --region RegionOne network public http://controller:9696
openstack endpoint create --region RegionOne network internal http://controller:9696
openstack endpoint create --region RegionOne network admin http://controller:9696openstack endpoint list

二、neutron相关软件安装与配置

现在可以做好网络名称的规划

供应商网络名称provider networks name:
供应商网络子网1名称provider networks subnet1 name:
供应商网络子网2名称provider networks subnet2 name:

自服务私有网络名称self-service networks name:
自服务私有网络子网1名称self-service networks subnet1 name:
自服务私有网络子网2名称self-service networks subnet2 name:

路由名称router name:

1.安装neutron相关软件

执行此命令安装软件包

dnf install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables -y

2.配置网络选项一:Provider networks

公有网络和私有网络配置任意选择一种即可,下面的操作是两种网络都进行配置选择。

yum install openstack-neutron openstack-neutron-ml2 \openstack-neutron-linuxbridge ebtables -y
(1)配置neutron服务组件

编辑vim /etc/neutron/neutron.conf文件

cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
egrep -v "^$|^#" /etc/neutron/neutron.conf.bak >/etc/neutron/neutron.conf
crudini --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:111111@controller/neutron
crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins
crudini --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:111111@controller
crudini --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes true
crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes true
crudini --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://controller:5000
crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:5000
crudini --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211
crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
crudini --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
crudini --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
crudini --set /etc/neutron/neutron.conf keystone_authtoken project_name service
crudini --set /etc/neutron/neutron.conf keystone_authtoken username neutron
crudini --set /etc/neutron/neutron.conf keystone_authtoken password 111111
crudini --set /etc/neutron/neutron.conf nova auth_url http://controller:5000
crudini --set /etc/neutron/neutron.conf nova auth_type password
crudini --set /etc/neutron/neutron.conf nova project_domain_name default
crudini --set /etc/neutron/neutron.conf nova user_domain_name default
crudini --set /etc/neutron/neutron.conf nova region_name RegionOne
crudini --set /etc/neutron/neutron.conf nova project_name service
crudini --set /etc/neutron/neutron.conf nova username nova
crudini --set /etc/neutron/neutron.conf nova password 111111
crudini --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp
egrep -v "^#|^$" /etc/neutron/neutron.conf
(2)配置模块化层2(ML2)插件

ML2插件使用Linux桥接器机制为实例构建第2层(桥接和交换)虚拟网络基础结构。编辑vim /etc/neutron/plugins/ml2/ml2_conf.ini文件。

cd 
cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.bak
egrep -v "^$|^#" /etc/neutron/plugins/ml2/ml2_conf.ini.bak >/etc/neutron/plugins/ml2/ml2_conf.ini
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2  tenant_network_types
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2  mechanism_drivers linuxbridge
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2  extension_drivers port_security
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks provider
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset true
(3)配置Linux网桥代理

Linux网桥代理为实例构建第2层(桥接和交换)虚拟网络基础结构并处理安全组。编辑vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini文件.

cd 
cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
egrep -v "^$|^#" /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak >/etc/neutron/plugins/ml2/linuxbridge_agent.ini
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:ens34
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan false
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group true
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
egrep -v '(^$|^#)' /etc/neutron/plugins/ml2/linuxbridge_agent.ini

加载br_netfilter内核模块,要启用网络桥接器支持,通常br_netfilter内核模块需要加载。参考Centos7网络桥接内核模块配置

echo net.bridge.bridge-nf-call-iptables = 1 >> /etc/sysctl.conf
echo net.bridge.bridge-nf-call-ip6tables = 1 >> /etc/sysctl.conf
cat /etc/sysctl.conf
sysctl -p
modprobe br_netfilter
ls /proc/sys/net/bridge
sysctl -p
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables
(4)配置DHCP代理

DHCP代理为虚拟网络提供DHCP服务,编辑vim /etc/neutron/dhcp_agent.ini文件.

cd
cp /etc/neutron/dhcp_agent.ini /etc/neutron/dhcp_agent.ini.bak
egrep -v "^$|^#" /etc/neutron/dhcp_agent.ini.bak >/etc/neutron/dhcp_agent.ini
crudini --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
crudini --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
crudini --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata true
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/dhcp_agent.ini

**注意:**至此,2.网络选项一的配置已经完成。

安装完成后,进入继续下一步创建。

如果不先进行:3.创建网络选项一的内容,在第六部分讲解。

可以直接进入:三、配置元数据代理,控制节点进行配置/etc/neutron/metadata_agent.ini文件。

后续为:

4.配置网络选项二

5.创建网络选项二

而在实际的部署中,两种创建网络,都调整,至,第六部分网络配置,确认控制节点各种服务启动之后。

下面先进行,第4步 :4.配置网络选项二:Self-service networks


3.创建网络选项一:provider networks

(结构完整,服从上面说明)

4.配置网络选项二:Self-service networks

yum install openstack-neutron openstack-neutron-ml2 \openstack-neutron-linuxbridge ebtables -y
(1)配置neutron服务组件

/etc/neutron/neutron.conf
在之前创建provider网络时已经配置过,但self网络也有特定的配置

crudini --set  /etc/neutron/neutron.conf DEFAULT service_plugins router
crudini --set  /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips true
(2)配置模块化层2(ML2)插件

/etc/neutron/plugins/ml2/ml2_conf.ini
在之前创建provider网络时已经配置过,但self网络也有特定的配置

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2  tenant_network_types vxlan
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2  mechanism_drivers linuxbridge,l2population
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2  extension_drivers port_security
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks provider
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset true
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:1000echo "Result of Configuration"
egrep -v "^#|^$" /etc/neutron/plugins/ml2/ml2_conf.ini
(3)配置Linux网桥代理

/etc/neutron/plugins/ml2/linuxbridge_agent.ini
Linux网桥代理为实例构建第2层(桥接和交换)虚拟网络基础结构并处理安全组。
在之前创建provider网络时已经配置过,但self网络也有特定的配置

crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:ens34
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan true
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 10.0.0.11
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group true
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/plugins/ml2/linuxbridge_agent.ini

加载br_netfilter内核模块,要启用网络桥接器支持,通常br_netfilter内核模块需要加载。参考Centos7网络桥接内核模块配置

如果按步骤操作,则已经完成配置。

#echo net.bridge.bridge-nf-call-iptables = 1 >> /etc/sysctl.conf
#echo net.bridge.bridge-nf-call-ip6tables = 1 >> /etc/sysctl.conf
#cat /etc/sysctl.conf
#sysctl -p
#modprobe br_netfilter
#ls /proc/sys/net/bridge
#sysctl -p
#sysctl net.bridge.bridge-nf-call-iptables
#sysctl net.bridge.bridge-nf-call-ip6tables
(4)配置第3层L3代理

/etc/neutron/l3_agent.ini

cp /etc/neutron/l3_agent.ini /etc/neutron/l3_agent.ini.bak
crudini --set /etc/neutron/l3_agent.ini DEFAULT interface_driver linuxbridge
(5)配置DHCP代理

DHCP代理为虚拟网络提供DHCP服务。
/etc/neutron/dhcp_agent.ini
在之前创建provider网络时已经配置过,此处self网络的配置与其相同。

#crudini --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
#crudini --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
#crudini --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata true

5.创建网络选项二:Self-service networks

(结构完整,服从上面说明)

三、配置元数据代理

/etc/neutron/metadata_agent.ini

cp -a /etc/neutron/metadata_agent.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/metadata_agent.ini.bak > /etc/neutron/metadata_agent.ini
cat /etc/neutron/metadata_agent.ini

此处将:METADATA_SECRET的值设置为neutron

crudini --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host controller
crudini --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret neutron
crudini --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/metadata_agent.inicat /etc/neutron/metadata_agent.ini

四、控制节点:为Nova配置网络服务

/etc/nova/nova.conf

Configure the Compute service to use the Networking service,控制节点必须安装Nova计算服务才能完成此步骤。

crudini --set /etc/nova/nova.conf neutron auth_url http://controller:5000
crudini --set /etc/nova/nova.conf neutron auth_type password
crudini --set /etc/nova/nova.conf neutron project_domain_name default
crudini --set /etc/nova/nova.conf neutron user_domain_name default
crudini --set /etc/nova/nova.conf neutron region_name RegionOne
crudini --set /etc/nova/nova.conf neutron project_name service
crudini --set /etc/nova/nova.conf neutron username neutron
crudini --set /etc/nova/nova.conf neutron password 111111
crudini --set /etc/nova/nova.conf neutron service_metadata_proxy true
crudini --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret neutronecho "Result of Configuration"
egrep -v '(^$|^#)' /etc/nova/nova.conf

五、控制节点:Neutron安装确认

0.(可选)添加sudoer权限

修改vim /etc/neutron/neutron.conf文件,修改以下内容

[privsep]
user = neutron
helper_command = sudo privsep-helper

修改vim /etc/sudoers.d/neutron文件,添加以下内容后强制保存退出wq!

neutron ALL = (root) NOPASSWD: ALL

1.初始化安装网络插件

创建网络插件的软连接,初始化网络的脚本插件会用到/etc/neutron/plugin.ini,需要使用ML2的插件进行提供

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

2.填充数据库

su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

最后输出OK。

3.重新启动Compute API服务

systemctl restart openstack-nova-api.service
systemctl status openstack-nova-api.service

4.启动neutron网络服务并设置开机启动

systemctl start neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service
systemctl list-unit-files |grep neutron* |grep enabled
systemctl enable neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service
systemctl list-unit-files |grep neutron* |grep enabled
systemctl status neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service

如果在二配置网络选项时,使用选项2,还应再启动第3层服务

systemctl start neutron-l3-agent.service
systemctl enable neutron-l3-agent.service

5.查看网络代理

cd
source admin-openrc.sh
openstack network list
openstack network agent list

六、创建网络选项

3.创建网络选项一:provider networks

(1)加载环境变量
cd
source admin-openrc.sh
(2)创建网络:provider
openstack network create --share --external --provider-physical-network provider --provider-network-type flat providernet
openstack network list

参数说明:

参数说明:
--share 指明所有项目都可以使用这个网络,否则只有创建者能使用  
--external 指明是外部网络  
--provider-physical-network provider  指明物理网络的提供者,与下面neutron的配置文件对应,其中provider是标签,可以更改为其他,但是2个地方必须要统一。
[ml2_type_flat]
flat_networks = provider--provider-network-type flat  指明这里创建的网络是flat类型,即实例连接到此网络时和物理网络是在同一个网段,无vlan等功能。
vm-network 网络名称
(3)检查确认网络配置

/etc/neutron/plugins/ml2/ml2_conf.ini

vim /etc/neutron/plugins/ml2/ml2_conf.ini
-----------------------------
[ml2_type_flat]
flat_networks = provider
-----------------------------

/etc/neutron/plugins/ml2/linuxbridge_agent.ini

vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
-----------------------------
[linux_bridge]
physical_interface_mappings = provider:ens34
-----------------------------
(4)创建子网:subnet
openstack subnet create --network providernet   --allocation-pool start=192.168.2.220,end=192.168.2.230   --dns-nameserver 1.1.1.1 --gateway 192.168.2.1   --subnet-range 192.168.2.0/24 providernet-subnet1
openstack subnet list
openstack network list

同一个父网络下也支持创建多个子网络。

#openstack subnet create --network provider --no-dhcp --allocation-pool start=192.168.1.210,end=192.168.1.220 --dns-nameserver 4.4.4.4 --gateway 192.168.1.1 --subnet-range 192.168.1.0/24 provider-subnet01#openstack subnet create --network provider --dhcp --subnet-range 192.168.2.0/24 provider-subnet02#openstack subnet list

5.创建网络选项二:Self-service networks

(1)加载环境变量
cd
source admin-openrc.sh
(2)创建网络
openstack network create selfservicenet
(3)检查确认网络配置

/etc/neutron/plugins/ml2/ml2_conf.ini
可以考虑在安装neutron网络服务的时候进行,该参数的配置。下面确认参数如下

vim /etc/neutron/plugins/ml2/ml2_conf.ini
---------------------------------------------------------
[ml2]
tenant_network_types = vxlan[ml2_type_vxlan]
vni_ranges = 1:1000
---------------------------------------------------------

下面是/etc/neutron/plugins/ml2/ml2_conf.ini配置的一个例子:

#  cat /etc/neutron/plugins/ml2/ml2_conf.ini
---------------------------------------------------------
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security[ml2_type_flat]
flat_networks = provider[ml2_type_vxlan]
vni_ranges = 1:1000[securitygroup]
enable_ipset = True
---------------------------------------------------------
(4)创建子网:subnet

在父网络selfservicenet中创建子网络selfservicenet-subnet1

openstack subnet create --network selfservicenet   --dns-nameserver 8.8.8.8 --gateway 172.16.1.1   --subnet-range 172.16.1.0/24 selfservicenet-subnet1
openstack subnet list
openstack network list

参数解释:

openstack subnet create --network selfservice \--dns-nameserver DNS_RESOLVER --gateway SELFSERVICE_NETWORK_GATEWAY \--subnet-range SELFSERVICE_NETWORK_CIDR selfservice
#私有网络建议使用https://tools.ietf.org/html/rfc1918
#10.0.0.0        -   10.255.255.255  (10/8 prefix)
#172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
#192.168.0.0     -   192.168.255.255 (192.168/16 prefix)
(5)创建路由器:router

完成配置后,或者选择进入dashboard进行网络创建。
有些服务需要重启,才能创建成功,这里直接重启服务器,待完善。
自助服务网络使用通常执行双向NAT的虚拟路由器连接到提供商网络。每个路由器均包含至少一个自助服务网络上的接口和提供商网络上的网关。
提供者网络必须包括router:external允许自助服务路由器将其用于连接到外部网络(例如Internet)的选项。
本admin或其他特权用户必须包括网络创建过程中,此选项或以后添加。
在这种情况下,该 router:external选项是–external在创建provider网络时通过使用参数来设置的。

cd
source admin-openrc.sh
openstack router create router1
openstack router add subnet router1 selfservicenet-subnet1
openstack router set router1 --external-gateway providernet
openstack port list --router router1
ip netns

七、控制节点Neutron网络服务安装完成

至此,控制端的neutron网络服务就安装完成,之后需要在计算节点安装网络服务组件,使计算节点可以连接到openstack集群。

使用VMware虚拟机的话,现在可以关机做快照,然后打开虚拟机。

poweroff 

这篇关于OpenStack Victoria版——7.1控制节点-Neutron网络服务组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147864

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

控制反转 的种类

之前对控制反转的定义和解释都不是很清晰。最近翻书发现在《Pro Spring 5》(免费电子版在文章最后)有一段非常不错的解释。记录一下,有道翻译贴出来方便查看。如有请直接跳过中文,看后面的原文。 控制反转的类型 控制反转的类型您可能想知道为什么有两种类型的IoC,以及为什么这些类型被进一步划分为不同的实现。这个问题似乎没有明确的答案;当然,不同的类型提供了一定程度的灵活性,但

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器