主控和从控!!!

一、主控

1.安装etcd数据库
[root@node1 ~]# yum -y install etcd
已加载插件:fastestmirror
Determining fastest mirrors
epel/x86_64/metalink 
 | 5.1 kB
00:00:00 
 * base: mirrors.aliyun.com
 * epel: repo.jing.rocks
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
 base 
 | 3.6 kB
00:00:00 
 extras 
 | 2.9 kB
00:00:00 
 updates 
 | 2.9 kB
00:00:00 
没有可⽤软件包 fannel。
正在解决依赖关系
--> 正在检查事务
---> 软件包 etcd.x86_64.0.3.3.11-2.el7.centos 将
被 安装
--> 解决依赖关系完成
依赖关系解决
==================================================
==================================================
============
 Package 架构 版本
 源
 ⼤⼩
==================================================
==================================================
============
正在安装:
 etcd x86_64 
3.3.11-2.el7.centos extras 
10 M
事务概要
==================================================
==================================================
============
安装 1 软件包
总下载量:10 M
安装⼤⼩:45 M
Downloading packages:
etcd-3.3.11-2.el7.centos.x86_64.rpm 
 | 10 MB
00:00:12 
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在安装 : etcd-3.3.11-2.el7.centos.x86_64 
1/1
 验证中 : etcd-3.3.11-2.el7.centos.x86_64 
1/1
已安装:
 etcd.x86_64 0:3.3.11-2.el7.centos 
完毕!
2.安装flanne
[root@node1 ~]# yum -y install flannel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: repo.jing.rocks
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 flannel.x86_64.0.0.7.1-4.el7 将被 安
装
--> 解决依赖关系完成
依赖关系解决
==================================================
==================================================
============
 Package 架构 
版本 源
⼤⼩
==================================================
==================================================
============
正在安装:
 flannel x86_64 
0.7.1-4.el7 extras 
7.5 M
事务概要
==================================================
==================================================
============
安装 1 软件包
总下载量:7.5 M
安装⼤⼩:41 M
Downloading packages:
flannel-0.7.1-4.el7.x86_64.rpm 
 | 7.5 MB
00:00:45 
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在安装 : flannel-0.7.1-4.el7.x86_64 
1/1
 验证中 : flannel-0.7.1-4.el7.x86_64 
1/1
已安装:
 flannel.x86_64 0:0.7.1-4.el7 
完毕!
3.修改etcd数据库配置
[root@node1 ~]# vim /etc/etcd/etcd.conf
[root@node1 ~]# cat /etc/etcd/etcd.conf
#[Member]
#ETCD_CORS=""
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
#ETCD_WAL_DIR=""
#ETCD_LISTEN_PEER_URLS="http://localhost:2380"
#
#-------------------------------------------------
-------------------
#ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http:
//0.0.0.0:4001"
#-------------------------------------------------
------------------
#ETCD_MAX_SNAPSHOTS="5"
#ETCD_MAX_WALS="5"
ETCD_NAME="default"
#ETCD_SNAPSHOT_COUNT="100000"
#ETCD_HEARTBEAT_INTERVAL="100"
#ETCD_ELECTION_TIMEOUT="1000"
#ETCD_QUOTA_BACKEND_BYTES="0"
#ETCD_MAX_REQUEST_BYTES="1572864"
#ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"
#ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"
#ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"
#
#[Clustering]
#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhos
t:2380"
#
#
#-------------------------------------------------
-----
#ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379
"
ETCD_ADVERTISE_CLIENT_URLS="http://10.1.1.10:2379,
http://10.1.1.10:4001"
#-------------------------------------------------
-----
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_INITIAL_CLUSTER="default=http://localhost:23
80"
#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
#ETCD_INITIAL_CLUSTER_STATE="new"
#ETCD_STRICT_RECONFIG_CHECK="true"
#ETCD_ENABLE_V2="true"
#
#[Proxy]
#ETCD_PROXY="off"
#ETCD_PROXY_FAILURE_WAIT="5000"
#ETCD_PROXY_REFRESH_INTERVAL="30000"
#ETCD_PROXY_DIAL_TIMEOUT="1000"
#ETCD_PROXY_WRITE_TIMEOUT="5000"
#ETCD_PROXY_READ_TIMEOUT="0"
#
#[Security]
#ETCD_CERT_FILE=""
#ETCD_KEY_FILE=""
#ETCD_CLIENT_CERT_AUTH="false"
#ETCD_TRUSTED_CA_FILE=""
#ETCD_AUTO_TLS="false"
#ETCD_PEER_CERT_FILE=""
#ETCD_PEER_KEY_FILE=""
#ETCD_PEER_CLIENT_CERT_AUTH="false"
#ETCD_PEER_TRUSTED_CA_FILE=""
#ETCD_PEER_AUTO_TLS="false"
#
#[Logging]
#ETCD_DEBUG="false"
#ETCD_LOG_PACKAGE_LEVELS=""
#ETCD_LOG_OUTPUT="default"
#
#[Unsafe]
#ETCD_FORCE_NEW_CLUSTER="false"
#
#[Version]
#ETCD_VERSION="false"
#ETCD_AUTO_COMPACTION_RETENTION="0"
#
#[Profiling]
#ETCD_ENABLE_PPROF="false"
#ETCD_METRICS="basic"
#
#[Auth]
#ETCD_AUTH_TOKEN="simple"
4.启动数据库
[root@node1 ~]# systemctl start etcd.service
5.设置开机启动
[root@node1 ~]# systemctl enable etcd.service
Created symlink from /etc/systemd/system/multiuser.target.wants/etcd.service to
/usr/lib/systemd/system/etcd.service.
[root@node1 ~]# ss -anput|grep 2370
tcp ESTAB 0 0 127.0.0.1:34666 
 127.0.0.1:2370 users:
(("etcd",pid=1959,fd=11))
tcp LISTEN 0 128 [::]:2370 
 [::]:* users:
(("etcd",pid=1959,fd=6))
tcp ESTAB 0 0 
[::ffff:127.0.0.1]:2370 
[::ffff:127.0.0.1]:34666 users:
(("etcd",pid=1959,fd=15))
6.测试端⼝
[root@node1 ~]# netstat -lnput|grep 4001
tcp6 0 0 :::4001 :::* 
 LISTEN 1959/etcd 
[root@node1 ~]# systemctl restart etcd.service
[root@node1 ~]# netstat -lnput|grep 2379
tcp6 0 0 :::2379 :::* 
 LISTEN 2028/etcd
7.测试数据库功能
[root@node1 ~]# etcdctl set testdir/testkey0 1000
1000
[root@node1 ~]# etcdctl get testdir/testkey0
1000
8.测试集群健康
[root@node1 ~]# etcdctl -C http://10.1.1.10:4001
cluster-health
member 8e9e05c52164694d is healthy: got healthy
result from http://10.1.1.10:2379
cluster is healthy
[root@node1 ~]# etcdctl -C http://10.1.1.10:2379
cluster-health
member 8e9e05c52164694d is healthy: got healthy
result from http://10.1.1.10:2379
cluster is healthy
9.修改flannel配置⽂件
[root@node1 ~]# vim /etc/sysconfig/flanneld
[root@node1 ~]# cat /etc/sysconfig/flanneld
# Flanneld configuration options 
# etcd url location. Point this to the server
where etcd runs
# ------------------------------------------------
-------
FLANNEL_ETCD_ENDPOINTS="http://10.1.1.10:2379"
#-------------------------------------------------
-------
# etcd config key. This is the configuration key
that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/atomic.io/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
10.向数据库中存⼊⽹段信息
[root@node1 ~]# etcdctl mk
/atomic.io/network/config '{ "Network" :
"172.20.0.0/16" }'
{ "Network" : "172.20.0.0/16" }
[root@node1 ~]# etcdctl get
/atomic.io/network/config
{ "Network" : "172.20.0.0/16" }
11.启动并设置开机启动flanneld
[root@node1 ~]# systemctl start flanneld.service
[root@node1 ~]# systemctl enable flanneld.service
Created symlink from /etc/systemd/system/multiuser.target.wants/flanneld.service to
/usr/lib/systemd/system/flanneld.service.
Created symlink from
/etc/systemd/system/docker.service.wants/flanneld.
service to
/usr/lib/systemd/system/flanneld.service.
12.查看ip地址
[root@node1 ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc
noqueue state UNKNOWN group default qlen 1000
 link/loopback 00:00:00:00:00:00 brd
00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host
 valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu
1500 qdisc pfifo_fast state UP group default qlen
1000
 link/ether 00:0c:29:94:72:1b brd
ff:ff:ff:ff:ff:ff
 inet 10.1.1.10/24 brd 10.1.1.255 scope global
ens33
 valid_lft forever preferred_lft forever
 inet6 fe80::20c:29ff:fe94:721b/64 scope link
 valid_lft forever preferred_lft forever
3: flannel0:
<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472
qdisc pfifo_fast state UNKNOWN group default qlen
500
 link/none
 inet 172.20.20.0/16 scope global flannel0
 valid_lft forever preferred_lft forever
 inet6 fe80::1fae:d70e:eb38:5ec9/64 scope link
flags 800
 valid_lft forever preferred_lft forever
13.安装docker
[root@node1 ~]# source docker.sh
overlay
br_netfilter
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
* Applying /usr/lib/sysctl.d/00-system.conf ...
 net.bridge.bridge-nf-call-ip6tables = 0
 net.bridge.bridge-nf-call-iptables = 0
 net.bridge.bridge-nf-call-arptables = 0
* Applying /usr/lib/sysctl.d/10-default-yamascope.conf ...
 kernel.yama.ptrace_scope = 0
* Applying /usr/lib/sysctl.d/50-default.conf ...
 kernel.sysrq = 16
 kernel.core_uses_pid = 1
 kernel.kptr_restrict = 1
 net.ipv4.conf.default.rp_filter = 1
 net.ipv4.conf.all.rp_filter = 1
 net.ipv4.conf.default.accept_source_route = 0
 net.ipv4.conf.all.accept_source_route = 0
 net.ipv4.conf.default.promote_secondaries = 1
 net.ipv4.conf.all.promote_secondaries = 1
 fs.protected_hardlinks = 1
 fs.protected_symlinks = 1
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.d/k8s.conf ...
 net.bridge.bridge-nf-call-iptables = 1
 net.bridge.bridge-nf-call-ip6tables = 1
 net.ipv4.ip_forward = 1
* Applying /etc/sysctl.conf ...
 已加载插件:fastestmirror
 Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: repo.jing.rocks
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
软件包 device-mapper-persistent-data-0.8.5-
3.el7_9.2.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.187-6.el7_9.5.x86_64 已安装并
且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 yum-utils.noarch.0.1.1.31-54.el7_8
将被 安装
--> 正在处理依赖关系 python-kitchen,它被软件包
yum-utils-1.1.31-54.el7_8.noarch 需要
--> 正在处理依赖关系 libxml2-python,它被软件包
yum-utils-1.1.31-54.el7_8.noarch 需要
--> 正在检查事务
---> 软件包 libxml2-python.x86_64.0.2.9.1-
6.el7_9.6 将被 安装
---> 软件包 python-kitchen.noarch.0.1.1.1-5.el7
将被 安装
--> 正在处理依赖关系 python-chardet,它被软件包
python-kitchen-1.1.1-5.el7.noarch 需要
--> 正在检查事务
---> 软件包 python-chardet.noarch.0.2.2.1-3.el7
将被 安装
--> 解决依赖关系完成
依赖关系解决
==================================================
==================================================
============
 Package 架构
版本 源
⼤⼩
==================================================
==================================================
============
正在安装:
 yum-utils noarch 
1.1.31-54.el7_8 base 
122 k
为依赖⽽安装:
 libxml2-python x86_64 
2.9.1-6.el7_9.6 updates 
247 k
 python-chardet noarch 
2.2.1-3.el7 base 
227 k
 python-kitchen noarch 
1.1.1-5.el7 base 
267 k
事务概要
==================================================
==================================================
============
安装 1 软件包 (+3 依赖软件包)
总下载量:863 k
安装⼤⼩:4.3 M
Downloading packages:
(1/4): yum-utils-1.1.31-54.el7_8.noarch.rpm 
 | 122 kB
00:00:00 
libxml2-python-2.9.1-6.el7_9.6 FAILED 
http://mirrors.cloud.aliyuncs.com/centos/7/updates
/x86_64/Packages/libxml2-python-2.9.1-
6.el7_9.6.x86_64.rpm: [Errno 14] curl#6 - "Could
not resolve host: mirrors.cloud.aliyuncs.com;
Unknown error"
正在尝试其它镜像。
python-chardet-2.2.1-3.el7.noa FAILED 
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_
64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm:
[Errno 14] curl#6 - "Could not resolve host:
mirrors.cloud.aliyuncs.com; Unknown error"
正在尝试其它镜像。
(2/4): libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm 
 | 247 kB
00:00:01 
(3/4): python-chardet-2.2.1-3.el7.noarch.rpm 
 | 227 kB
00:00:07 
python-kitchen-1.1.1-5.el7.noa FAILED 
http://mirrors.aliyuncs.com/centos/7/os/x86_64/Pac
kages/python-kitchen-1.1.1-5.el7.noarch.rpm:
[Errno 14] curl#7 - "Failed connect to
mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(4/4): python-kitchen-1.1.1-5.el7.noarch.rpm 
 | 267 kB
00:00:01 
--------------------------------------------------
--------------------------------------------------
------------
总计
38 kB/s | 863 kB
00:00:22 
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在安装 : python-chardet-2.2.1-3.el7.noarch 
1/4
 正在安装 : python-kitchen-1.1.1-5.el7.noarch 
2/4
 正在安装 : libxml2-python-2.9.1-
6.el7_9.6.x86_64 
3/4
 正在安装 : yum-utils-1.1.31-54.el7_8.noarch 
4/4
 验证中 : python-kitchen-1.1.1-5.el7.noarch 
1/4
 验证中 : yum-utils-1.1.31-54.el7_8.noarch 
2/4
 验证中 : libxml2-python-2.9.1-
6.el7_9.6.x86_64 
3/4
 验证中 : python-chardet-2.2.1-3.el7.noarch 
4/4
已安装:
 yum-utils.noarch 0:1.1.31-54.el7_8 
作为依赖被安装:
 libxml2-python.x86_64 0:2.9.1-6.el7_9.6 
 python-chardet.noarch 0:2.2.1-3.el7 
 python-kitchen.noarch 0:1.1.1-5.el7 
完毕!
已加载插件:fastestmirror
adding repo from:
https://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo to
/etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: repo.jing.rocks
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
 docker-ce-stable 
 | 3.5 kB
00:00:00 
 (1/2): docker-ce-stable/7/x86_64/updateinfo 
 | 55 B
00:00:10 
 (2/2): docker-ce-stable/7/x86_64/primary_db 
 | 152 kB
00:00:11 
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.6.33-
3.1.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,
它被软件包 containerd.io-1.6.33-3.1.el7.x86_64 需要
---> 软件包 docker-buildxplugin.x86_64.0.0.14.1-1.el7 将被 安装
---> 软件包 docker-ce.x86_64.3.26.1.4-1.el7 将被
安装
--> 正在处理依赖关系 docker-ce-rootless-extras,它
被软件包 3:docker-ce-26.1.4-1.el7.x86_64 需要
--> 正在处理依赖关系 libcgroup,它被软件包
3:docker-ce-26.1.4-1.el7.x86_64 需要
---> 软件包 docker-ce-cli.x86_64.1.26.1.4-1.el7
将被 安装
---> 软件包 docker-composeplugin.x86_64.0.2.27.1-1.el7 将被 安装
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.119.2-
1.911c772.el7_8 将被 安装
--> 正在处理依赖关系 policycoreutils-python,它被软
件包 2:container-selinux-2.119.2-
1.911c772.el7_8.noarch 需要
---> 软件包 docker-ce-rootlessextras.x86_64.0.26.1.4-1.el7 将被 安装
--> 正在处理依赖关系 fuse-overlayfs >= 0.7,它被软
件包 docker-ce-rootless-extras-26.1.4-1.el7.x86_64
需要
--> 正在处理依赖关系 slirp4netns >= 0.4,它被软件包
docker-ce-rootless-extras-26.1.4-1.el7.x86_64 需要
---> 软件包 libcgroup.x86_64.0.0.41-21.el7 将被
安装
--> 正在检查事务
---> 软件包 fuse-overlayfs.x86_64.0.0.7.2-
6.el7_8 将被 安装
--> 正在处理依赖关系 libfuse3.so.3(FUSE_3.2)
(64bit),它被软件包 fuse-overlayfs-0.7.2-
6.el7_8.x86_64 需要
--> 正在处理依赖关系 libfuse3.so.3(FUSE_3.0)
(64bit),它被软件包 fuse-overlayfs-0.7.2-
6.el7_8.x86_64 需要
--> 正在处理依赖关系 libfuse3.so.3()(64bit),它被软
件包 fuse-overlayfs-0.7.2-6.el7_8.x86_64 需要
---> 软件包 policycoreutils-python.x86_64.0.2.5-
34.el7 将被 安装
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被
软件包 policycoreutils-python-2.5-34.el7.x86_64 需
要
--> 正在处理依赖关系 libsemanage-python >= 2.5-
14,它被软件包 policycoreutils-python-2.5-
34.el7.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-
4,它被软件包 policycoreutils-python-2.5-
34.el7.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包
policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)
(64bit),它被软件包 policycoreutils-python-2.5-
34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)
(64bit),它被软件包 policycoreutils-python-2.5-
34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)
(64bit),它被软件包 policycoreutils-python-2.5-
34.el7.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包
policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软
件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软
件包 policycoreutils-python-2.5-34.el7.x86_64 需要
---> 软件包 slirp4netns.x86_64.0.0.4.3-4.el7_8
将被 安装
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.5-
4.el7 将被 安装
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被
安装
---> 软件包 fuse3-libs.x86_64.0.3.6.1-4.el7 将被
安装
---> 软件包 libsemanage-python.x86_64.0.2.5-
14.el7 将被 安装
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被
安装
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将
被 安装
--> 解决依赖关系完成
依赖关系解决
==================================================
==================================================
============
 Package 架构 版
本 源
⼤⼩
==================================================
==================================================
============
正在安装:
 containerd.io x86_64 
1.6.33-3.1.el7 docker-cestable 35 M
 docker-buildx-plugin x86_64 
0.14.1-1.el7 docker-cestable 14 M
 docker-ce x86_64 
3:26.1.4-1.el7 docker-cestable 27 M
 docker-ce-cli x86_64 
1:26.1.4-1.el7 docker-cestable 15 M
 docker-compose-plugin x86_64 
2.27.1-1.el7 docker-cestable 13 M
为依赖⽽安装:
 audit-libs-python x86_64 
2.8.5-4.el7 base 
76 k
 checkpolicy x86_64 
2.5-8.el7 base 
295 k
 container-selinux noarch 
2:2.119.2-1.911c772.el7_8 extras 
40 k
 docker-ce-rootless-extras x86_64 
26.1.4-1.el7 docker-cestable 9.4 M
 fuse-overlayfs x86_64 
0.7.2-6.el7_8 extras 
54 k
 fuse3-libs x86_64 
3.6.1-4.el7 extras 
82 k
 libcgroup x86_64 
0.41-21.el7 base 
66 k
 libsemanage-python x86_64 
2.5-14.el7 base 
113 k
 policycoreutils-python x86_64 
2.5-34.el7 base 
457 k
 python-IPy noarch 
0.75-6.el7 base 
32 k
 setools-libs x86_64 
3.3.8-4.el7 base 
620 k
 slirp4netns x86_64 
0.4.3-4.el7_8 extras 
81 k
事务概要
==================================================
==================================================
============
安装 5 软件包 (+12 依赖软件包)
总下载量:116 M
安装⼤⼩:407 M
Downloading packages:
(1/17): container-selinux-2.119.2-
1.911c772.el7_8.noarch.rpm 
 | 40 kB 00:00:00 
(2/17): audit-libs-python-2.8.5-4.el7.x86_64.rpm 
 | 76 kB
00:00:02 
(3/17): checkpolicy-2.5-8.el7.x86_64.rpm 
 | 295 kB
00:00:03 
warning: /var/cache/yum/x86_64/7/docker-cestable/packages/docker-buildx-plugin-0.14.1-
1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature,
key ID 621e9f35: NOKEY
docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm 的公钥
尚未安装
(4/17): docker-buildx-plugin-0.14.1-
1.el7.x86_64.rpm 
 | 14 MB 00:02:11 
(5/17): containerd.io-1.6.33-3.1.el7.x86_64.rpm 
 | 35 MB
00:05:22 
(6/17): docker-ce-cli-26.1.4-1.el7.x86_64.rpm 
 | 15 MB
00:00:35 
(7/17): docker-ce-26.1.4-1.el7.x86_64.rpm 
 | 27 MB
00:03:50 
(8/17): fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm 
 | 54 kB
00:00:03 
(9/17): libcgroup-0.41-21.el7.x86_64.rpm 
 | 66 kB
00:00:03 
(10/17): fuse3-libs-3.6.1-4.el7.x86_64.rpm 
 | 82 kB
00:00:03 
(11/17): libsemanage-python-2.5-14.el7.x86_64.rpm
 | 113 kB
00:00:02 
(12/17): python-IPy-0.75-6.el7.noarch.rpm 
 | 32 kB
00:00:00 
(13/17): policycoreutils-python-2.5-
34.el7.x86_64.rpm 
 | 457 kB 00:00:05 
(14/17): slirp4netns-0.4.3-4.el7_8.x86_64.rpm 
 | 81 kB
00:00:02 
(15/17): setools-libs-3.3.8-4.el7.x86_64.rpm 
 | 620 kB
00:00:02 
(16/17): docker-compose-plugin-2.27.1-
1.el7.x86_64.rpm 
| 13 MB 00:01:28 
(17/17): docker-ce-rootless-extras-26.1.4-
1.el7.x86_64.rpm |
9.4 MB 00:01:33 
--------------------------------------------------
--------------------------------------------------
------------
总计
262 kB/s | 116 MB
00:07:31 
从 https://mirrors.aliyun.com/dockerce/linux/centos/gpg 检索密钥
导⼊ GPG key 0x621E9F35:
⽤户ID : "Docker Release (CE rpm)
<docker@docker.com>"
指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f
eb6b 621e 9f35
来⾃ : https://mirrors.aliyun.com/dockerce/linux/centos/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在安装 : libcgroup-0.41-21.el7.x86_64 
1/17
 正在安装 : docker-buildx-plugin-0.14.1-
1.el7.x86_64 
2/17
 正在安装 : setools-libs-3.3.8-4.el7.x86_64 
3/17
 正在安装 : audit-libs-python-2.8.5-
4.el7.x86_64 
4/17
 正在安装 : slirp4netns-0.4.3-4.el7_8.x86_64 
5/17
 正在安装 : libsemanage-python-2.5-
14.el7.x86_64 
6/17
 正在安装 : python-IPy-0.75-6.el7.noarch 
7/17
 正在安装 : fuse3-libs-3.6.1-4.el7.x86_64 
8/17
 正在安装 : fuse-overlayfs-0.7.2-6.el7_8.x86_64
9/17
 正在安装 : checkpolicy-2.5-8.el7.x86_64 
10/17
 正在安装 : policycoreutils-python-2.5-
34.el7.x86_64 
11/17
 正在安装 : 2:container-selinux-2.119.2-
1.911c772.el7_8.noarch 
12/17
 正在安装 : containerd.io-1.6.33-3.1.el7.x86_64
13/17
 正在安装 : docker-compose-plugin-2.27.1-
1.el7.x86_64 
14/17
 正在安装 : 1:docker-ce-cli-26.1.4-1.el7.x86_64
15/17
 正在安装 : docker-ce-rootless-extras-26.1.4-
1.el7.x86_64 
16/17
 正在安装 : 3:docker-ce-26.1.4-1.el7.x86_64 
17/17
 验证中 : docker-compose-plugin-2.27.1-
1.el7.x86_64 
1/17
 验证中 : checkpolicy-2.5-8.el7.x86_64 
2/17
 验证中 : fuse3-libs-3.6.1-4.el7.x86_64 
3/17
 验证中 : python-IPy-0.75-6.el7.noarch 
4/17
 验证中 : fuse-overlayfs-0.7.2-6.el7_8.x86_64
5/17
 验证中 : libsemanage-python-2.5-
14.el7.x86_64 
6/17
 验证中 : slirp4netns-0.4.3-4.el7_8.x86_64 
7/17
 验证中 : 2:container-selinux-2.119.2-
1.911c772.el7_8.noarch 
8/17
 验证中 : containerd.io-1.6.33-3.1.el7.x86_64
9/17
 验证中 : 3:docker-ce-26.1.4-1.el7.x86_64 
10/17
 验证中 : 1:docker-ce-cli-26.1.4-1.el7.x86_64
11/17
 验证中 : policycoreutils-python-2.5-
34.el7.x86_64 
12/17
 验证中 : docker-ce-rootless-extras-26.1.4-
1.el7.x86_64 
13/17
 验证中 : audit-libs-python-2.8.5-
4.el7.x86_64 
14/17
 验证中 : setools-libs-3.3.8-4.el7.x86_64 
15/17
 验证中 : docker-buildx-plugin-0.14.1-
1.el7.x86_64 
16/17
 验证中 : libcgroup-0.41-21.el7.x86_64 
17/17
已安装:
 containerd.io.x86_64 0:1.6.33-3.1.el7 
 docker-buildx-plugin.x86_64 0:0.14.1-1.el7
 docker-ce.x86_64 3:26.1.4-1.el7 
 docker-ce-cli.x86_64 1:26.1.4-1.el7 
 docker-compose-plugin.x86_64 0:2.27.1-1.el7 
作为依赖被安装:
 audit-libs-python.x86_64 0:2.8.5-4.el7 
 checkpolicy.x86_64 0:2.5-8.el7 
 container-selinux.noarch 2:2.119.2-
1.911c772.el7_8 docker-ce-rootlessextras.x86_64 0:26.1.4-1.el7 
 fuse-overlayfs.x86_64 0:0.7.2-6.el7_8 
 fuse3-libs.x86_64 0:3.6.1-4.el7 
 libcgroup.x86_64 0:0.41-21.el7 
 libsemanage-python.x86_64 0:2.5-14.el7 
 policycoreutils-python.x86_64 0:2.5-34.el7 
 python-IPy.noarch 0:0.75-6.el7 
 setools-libs.x86_64 0:3.3.8-4.el7 
 slirp4netns.x86_64 0:0.4.3-4.el7_8 
完毕!
14.docker服务没有开启之前查看ip
[root@node1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 
mtu 1500
 inet 10.1.1.10 netmask 255.255.255.0 
broadcast 10.1.1.255
 inet6 fe80::20c:29ff:fe94:721b prefixlen
64 scopeid 0x20<link>
 ether 00:0c:29:94:72:1b txqueuelen 1000 
(Ethernet)
 RX packets 105369 bytes 146824987 (140.0
MiB)
 RX errors 0 dropped 0 overruns 0 frame
0
 TX packets 39963 bytes 3021936 (2.8 MiB)
 TX errors 0 dropped 0 overruns 0 carrier
0 collisions 0
flannel0:
flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> 
mtu 1472
 inet 172.20.20.0 netmask 255.255.0.0 
destination 172.20.20.0
 inet6 fe80::1fae:d70e:eb38:5ec9 prefixlen
64 scopeid 0x20<link>
 unspec 00-00-00-00-00-00-00-00-00-00-00-
00-00-00-00-00 txqueuelen 500 (UNSPEC)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame
0
 TX packets 3 bytes 144 (144.0 B)
 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 993 bytes 65146 (63.6 KiB)
 RX errors 0 dropped 0 overruns 0 frame
0
 TX packets 993 bytes 65146 (63.6 KiB)
 TX errors 0 dropped 0 overruns 0 carrier
0 collisions 0
15.启动docker服务后查看ip
[root@node1 ~]# systemctl start docker.service
[root@node1 ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu
1500
 inet 172.17.0.1 netmask 255.255.0.0 
broadcast 172.17.255.255
 ether 02:42:ba:f0:5f:1e txqueuelen 0 
(Ethernet)
 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
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 
mtu 1500
 inet 10.1.1.10 netmask 255.255.255.0 
broadcast 10.1.1.255
 inet6 fe80::20c:29ff:fe94:721b prefixlen
64 scopeid 0x20<link>
 ether 00:0c:29:94:72:1b txqueuelen 1000 
(Ethernet)
 RX packets 105431 bytes 146830165 (140.0
MiB)
 RX errors 0 dropped 0 overruns 0 frame
0
 TX packets 40003 bytes 3028954 (2.8 MiB)
 TX errors 0 dropped 0 overruns 0 carrier
0 collisions 0
flannel0:
flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> 
mtu 1472
 inet 172.20.20.0 netmask 255.255.0.0 
destination 172.20.20.0
 inet6 fe80::1fae:d70e:eb38:5ec9 prefixlen
64 scopeid 0x20<link>
 unspec 00-00-00-00-00-00-00-00-00-00-00-
00-00-00-00-00 txqueuelen 500 (UNSPEC)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame
0
 TX packets 3 bytes 144 (144.0 B)
 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 1001 bytes 65562 (64.0 KiB)
 RX errors 0 dropped 0 overruns 0 frame
0
 TX packets 1001 bytes 65562 (64.0 KiB)
 TX errors 0 dropped 0 overruns 0 carrier
0 collisions 0
16.查看flannel⼦⽹ip
[root@node1 ~]# cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.20.0.0/16
FLANNEL_SUBNET=172.20.20.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=false
17.从其他主机复制⼀份daemon.json⽂件
[root@node1 ~]# scp
root@10.1.1.50:/etc/docker/daemon.json
/etc/docker/
root@10.1.1.50's password:
daemon.json 
100% 385 111.9KB/s
00:00
18.修改添加桥ip和路由字节1472-1500
[root@node1 ~]# vim /etc/docker/daemon.json
[root@node1 ~]# cat /etc/docker/daemon.json
{
 "insecure-registries":[
 "http://10.1.1.50" 
 ],
 "registry-mirrors": [
 "https://do.nark.eu.org",
 "https://dc.j8.work",
 "https://docker.m.daocloud.io",
 "https://dockerproxy.com",
 "https://docker.mirrors.ustc.edu.cn",
 "https://docker.nju.edu.cn"
 ],
 "hosts": [
 "tcp://0.0.0.0:2375",
 "unix:///var/run/docker.sock"
],
"bip": "172.20.20.1/24",
"mtu": 1472
}
19.修改docker配置⽂件
[root@node1 ~]# vim
/usr/lib/systemd/system/docker.service
20.加载配置,重启docker服务
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl restart docker.service
21.查看ip地址
[root@node1 ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc
noqueue state UNKNOWN group default qlen 1000
 link/loopback 00:00:00:00:00:00 brd
00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host
 valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu
1500 qdisc pfifo_fast state UP group default qlen
1000
 link/ether 00:0c:29:94:72:1b brd
ff:ff:ff:ff:ff:ff
 inet 10.1.1.10/24 brd 10.1.1.255 scope global
ens33
 valid_lft forever preferred_lft forever
 inet6 fe80::20c:29ff:fe94:721b/64 scope link
 valid_lft forever preferred_lft forever
3: flannel0:
<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472
qdisc pfifo_fast state UNKNOWN group default qlen
500
 link/none
 inet 172.20.20.0/16 scope global flannel0
 valid_lft forever preferred_lft forever
 inet6 fe80::1fae:d70e:eb38:5ec9/64 scope link
flags 800
 valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP>
mtu 1472 qdisc noqueue state DOWN group default
 link/ether 02:42:ba:f0:5f:1e brd
ff:ff:ff:ff:ff:ff
 inet 172.20.20.1/24 brd 172.20.20.255 scope
global docker0
 valid_lft forever preferred_lft forever
22.拉取⼀个镜像测试ip地址
[root@node1 ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest:
sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534b
bdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@node1 ~]# docker run -it centos:latest
/bin/bash
[root@be00f4423f5b /]# [root@node1 ~]# docker
images
REPOSITORY TAG IMAGE ID CREATED 
 SIZE
centos latest 5d0da3dc9764 2 years ago
23

二、从控

1.安装flannel
yum -y install flannel
2.配置flanner 配置flannel要访问的etcd数据库所在的位置
root@localhost ~]# cat /etc/sysconfig/flanneld
# Flanneld configuration options 
# etcd url location. Point this to the server
where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://192.168.71.10:2379"
# etcd config key. This is the configuration key
that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/atomic.io/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
3.启动flannel
systemctl star flanneld
4.查看flannel分配的ip⽹段
[root@localhost ~]# cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.20.0.0/16
FLANNEL_SUBNET=172.20.99.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=false
5.安装docker
6.将flannel分配⽹段写⼊到daemon.json
[root@localhost ~]# cat /etc/docker/daemon.json
{
 "registry-mirrors": [
 "https://do.nark.eu.org",
 "https://dc.j8.work",
 "https://docker.m.daocloud.io",
 "https://dockerproxy.com",
 
"https://docker.mirrors.ustc.edu.cn",
 "https://docker.nju.edu.cn"
 ],
 "hosts": [
 "tcp://0.0.0.0:2375",
 "unix:///var/run/docker.sock"
 ],
 "insecure-registries":[
 "http://192.168.71.50:5000"
 ],
 "bip" : "172.20.99.1/24",
 "mtu" : 1472
}
[root@localhost ~]#
7.重启docaker 如果不能重启,就修改⼀下远程管理
systemctl restart docker.service
8.拉取⼀个centos镜像
docker pull centos
docker run -it centos:latest /bin/bash
9.ping node1中容器的ip地址
ping 172.20.78.2
总结,⼯作原理
1.使⽤flanner为docker主机(宿主)分配⽹段
2.⽹段的信息以及ip的信息保存在etcd数据库中
3.当flanner开始运⾏的时候,会从etcd数据库中读取{"Network":"172.20.0.0/16"},随机为当前的主机添加⼀个flannel0⽹课172.20.78.0
4.配置docker的daemon⽂件,让docker0⽹卡变成和flannel的⽹段⼀致,之后docker下创建的容器的ip就在flannel的⽹段控制之内

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: cnc主控芯片的控制代码是一套用于控制计算机数控系统的指令集合。这些代码包含了一系列的指令和参数,用于指导数控系统中的各种运动、位置、速度等控制。主控芯片通过解析这些代码,将其转换为具体的电信号输出给驱动器,从而实现机床的各种动作。 控制代码通常由高级语言编写或通过专门的数控编程软件生成。代码中包含了运动模式、运动方向、运动速度、加减速度、步进步距等控制参数,可以根据具体工件加工的要求进行调整。 控制代码通过解析并执行,可以实现多轴联动控制、直线插补控制、圆弧插补控制等功能。它可以控制机床中各个驱动器的转动,实现工件在三维空间中的精确运动。 在编写控制代码时,需要考虑不同机床的参数、驱动方式以及控制系统的特点。同时,还需要考虑编程的效率和优化,以确保代码的运行速度和稳定性。 总之,cnc主控芯片的控制代码是一套用于指导数控系统运行的指令集合,通过解析和执行这些代码,可以实现机床在空间中的精确控制。控制代码的编写需要考虑机床和控制系统的特点,以满足工件加工的要求。 ### 回答2: CNC主控芯片的控制代码是一种编程语言,用于控制数控机床上的运动、切削等工作。这些代码通过CNC主控芯片中的控制芯片进行解析和执行。 控制代码通常由G代码和M代码组成。G代码用于定义运动轨迹和刀具路径,例如直线插补、圆弧插补等。M代码用于定义机床的工作方式和辅助功能,例如启动、停止、刀具换装等。 编写控制代码需要具备相应的编程知识和数控机床的操作经验。编程人员需要根据工件的要求和设计图纸,将切削路径转化为相应的G代码,同时控制切削参数如切削速度、进给速度等。 在CNC主控芯片上,控制代码会被加载到相应的存储器中,并由控制芯片对其进行解析和执行。控制芯片会按照指令逐行读取控制代码,并根据指令的含义和参数控制机床的运动和工作。这一过程需要与伺服电机、进给系统等配合,确保机床按照预期的路径进行切削操作。 控制代码的编写要求准确、精细。编程人员需要清楚了解数控机床的工作原理和相关技术规范,合理安排刀具路径和工作参数,以达到工件加工的要求。编写好的控制代码可以提高机床的工作效率和精度,同时减少操作人员的工作量。 总之,CNC主控芯片的控制代码是编写给数控机床的指令,用于控制机床的运动、切削等工作。它在数控机床的加工过程中发挥重要作用,需要编程人员根据具体需求进行编写和调试。 ### 回答3: CNC主控芯片的控制代码是一种通过编程语言编写的指令集,用于控制CNC机床的运动、速度和精度等参数。这些代码可以通过计算机或者人机界面输入到CNC主控芯片中,由其解析和执行。 控制代码通常由各种指令组成,包括运动指令、插补指令、速度指令、加工指令和系统指令等。运动指令用于控制机床轴的运动,如直线插补、圆弧插补等;插补指令用于控制工具的移动轨迹,使其在工件上按照预定的路径进行加工;速度指令用于控制机床的运动速度,调整加工过程中的进给速度和主轴转速等;加工指令用于控制刀具的加工动作,如切削、穿孔、攻丝等;系统指令用于配置机床的各种参数,设定加工过程中需要的工具、夹具和测量装置等。 控制代码的编写需要掌握相关的编程语言,如G代码和M代码,其中G代码主要用于描述运动和插补指令,M代码用于描述系统和加工指令。编写代码的过程中需要考虑工件的几何形状、切削工艺和机床的性能等多个方面的因素,以实现高效、精确的加工。 总之,CNC主控芯片的控制代码是一种通过编程语言编写的指令集,用于控制CNC机床的各种参数和加工过程,通过输入到CNC主控芯片中,实现对机床的精确控制。这些代码具有多样化的指令类型和灵活的编程方式,能够满足不同加工需求和机床性能的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值