Kubernetes集群自动化部署

目录

1.1 实验介绍

1.1.1 关于本实验

1.1.2 实验目的

1.2 环境准备

步骤 1 设置节点名

步骤 2 配置 hosts 节点名解析

步骤 3 配置免密登录

步骤 4 清空 iptables、关闭防火墙并禁用 selinux

步骤 5 关闭交换分区

步骤 6 开启 ipvs

步骤 7 设置时间同步

步骤 8 配置 yum 源

步骤 9 安装 docker

步骤 10 配置内核转发及网桥过滤

步骤 11 安装cri-docker

步骤 12 启动cri-docker服务

步骤 13 cri-dockerd设置国内镜像加速

1.3 Master 节点部署高可用

步骤 1 安装 nginx 和 Keepalived

步骤 2 修改 nginx 配置文件

步骤 3 修改 Keepalived 配置文件

步骤 4 启动 nginx 和 Keepalived

步骤 5 结果验证

步骤 6 高可用切换验证

1.4 部署 Kubernetes 集群

步骤 1 K8S软件安装

1.5 K8S集群初始化

1.6 K8S集群工作节点加入

步骤 1 其他 master 节点加入集群

步骤 2 node 节点加入集群

步骤 3 安装网络插件 Calico

步骤 4 查看节点状态

1.7 结果验证

步骤 1 创建 deployment

步骤 2 访问 service

步骤 3 访问 pod

步骤 4 删除 deployment 和 service


1.1 实验介绍

1.1.1 关于本实验

        本实验通过使用 kubeadm 实现自动化部署 Kubernetes 集群,并用 nginx+Keepalived 实现高

可用。

1.1.2 实验目的

        理解 Kubernetes 集群的架构。

        理解高可用集群的搭建方式。

        掌握 kubeadm 搭建 Kubernetes 集群的方法。

1.2 环境准备

步骤 1 设置节点名

HostnameKubernetes集群IPVIP
k8smaster1192.168.186.100192.168.186.50
k8smaster2192.168.186.101192.168.186.50
k8smaster3192.168.186.102192.168.186.50
k8snode1192.168.186.103
k8snode2192.168.186.104
k8snode3192.168.186.105

        依次在 6 台节点中执行以下命令设置节点名,节点名分别为 k8smaster1、k8smaster2、k8smaster3、k8snode1、k8snode2、k8snode3:

[root@localhost ~]# hostnamectl hostname k8smaster1 
[root@localhost ~]# bash


Welcome to 5.10.0-182.0.0.95.oe2203sp3.x86_64

System information as of time: 	2024年 04月 09日 星期二 10:17:46 CST

System load: 	0.00
Processes: 	154
Memory used: 	5.6%
Swap used: 	0%
Usage On: 	9%
IP address: 	192.168.186.100
Users online: 	2


[root@k8smaster1 ~]# 

步骤 2 配置 hosts 节点名解析

所有节点执行以下命令

[root@k8smaster1 ~]# cat <<EOF>>/etc/hosts
> 192.168.186.100  k8smaster1 
> 192.168.186.101  k8smaster2
> 192.168.186.102  k8smaster3 
> 192.168.186.103  k8snode1 
> 192.168.186.104  k8snode2
> 192.168.186.105  k8snode3 
> EOF
[root@k8smaster1 ~]# 

步骤 3 配置免密登录

在 k8smaster1 节点执行以下命令,然后一直敲击回车,生成秘钥文件:

[root@k8smaster1 ~]#  ssh-keygen

在 k8smaster1 节点拷贝秘钥到其他 5 台节点,例如 k8smaster2:

[root@k8smaster1 ~]#  ssh-copy-id k8smaster2
[root@k8smaster1 ~]#  ssh-copy-id k8smaster3
[root@k8smaster1 ~]#  ssh-copy-id k8snode1
[root@k8smaster1 ~]#  ssh-copy-id k8snode2
[root@k8smaster1 ~]#  ssh-copy-id k8snode3

步骤 4 清空 iptables、关闭防火墙并禁用 selinux

所有节点执行以下命令:

iptables -F
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld

步骤 5 关闭交换分区

所有节点执行以下命令:

[root@k8smaster1 ~]# swapoff -a
[root@k8smaster1 ~]# sed -i 's/.*swap.*/#&/' /etc/fstab

步骤 6 开启 ipvs

所有节点执行以下命令:

cat > /etc/sysconfig/modules/ipvs.modules <<END
#!/bin/bash
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_nq 
ip_vs_sed ip_vs_ftp nf_conntrack"
for kernel_module in ${ipvs_modules}; do
/sbin/modinfo -F filename ${kernel_module} > /dev/null 2>&1
if [ 0 -eq 0 ]; then
/sbin/modprobe ${kernel_module}
fi
done
END
chmod 755 /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules

步骤 7 设置时间同步

所有节点执行以下命令:

yum install -y chrony
systemctl enable --now chronyd
chronyc sources

步骤 8 配置 yum 源

所有节点执行以下命令,配置 kubernetes 的 yum 源:

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
#exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF

步骤 9 安装 docker

所有节点执行以下命令,安装启动 docker:

1、下载官方repo
cd /etc/yum.repos.d/
curl -O https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's/$releasever/8/g' docker-ce.repo
2. 安装docker
yum install -y docker-ce

# 设置国内镜像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}
EOF

设置docker开机启动并启动
# systemctl enable --now docker


查看docker版本
# docker version

# 所有节点执行以下命令,将 docker 的 CgroupDriver 改成 systemd,在/etc/docker/daemon.json 中添加配置:

{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}

# 所有节点执行以下命令,重启 docker:
systemctl daemon-reload
systemctl restart docker

步骤 10 配置内核转发及网桥过滤

添加网桥过滤及内核转发配置文件
# cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness = 0
EOF

加载br_netfilter模块
# modprobe br_netfilter

查看是否加载
# lsmod | grep br_netfilter
br_netfilter           22256  0
bridge                151336  1 br_netfilter

使用新添加配置文件生效
# sysctl -p /etc/sysctl.d/k8s.conf

步骤 11 安装cri-docker

wget -c http://github.com/Mirantis/cri-dockerd/releases/download/v0.3.4/cri-dockerd-0.3.4-3.el8.x86_64.rpm
yum install cri-dockerd-0.3.4-3.el8.x86_64.rpm

步骤 12 启动cri-docker服务

systemctl enable cri-docker

步骤 13 cri-dockerd设置国内镜像加速

$ vi /usr/lib/systemd/system/cri-docker.service # 找到第10行ExecStart= 

# 修改为ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9
# 重启Docker组件
$ systemctl daemon-reload && systemctl restart docker cri-docker.socket cri-docker 
# 检查Docker组件状态
$ systemctl status docker cir-docker.socket cri-docker

1.3 Master 节点部署高可用

步骤 1 安装 nginx 和 Keepalived

3 台 master 节点执行以下命令,安装 nginx 和 Keepalived:

yum install -y nginx keepalived nginx-all-modules

步骤 2 修改 nginx 配置文件

3 台 master 节点修改/etc/nginx/nginx.conf 配置文件,在如下位置添加加粗部分内容:

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
 worker_connections 1024;
}
stream {
 log_format main '$remote_addr $upstream_addr - [$time_local] $status 
$upstream_bytes_sent';
 access_log /var/log/nginx/k8s-access.log main;
 upstream k8s-apiserver {
 server 192.168.186.100:6443;
 server 192.168.186.101:6443;
 server 192.168.186.102:6443; 
 }
 server {
 listen 16443;
 proxy_pass k8s-apiserver;
 }
}

步骤 3 修改 Keepalived 配置文件

覆盖修改 k8smaster1 节点配置文件/etc/keepalived/keepalived.conf:

cat > /etc/keepalived/keepalived.conf<<EOF
! Configuration File for keepalived
global_defs {
 router_id master1
}
vrrp_instance Nginx {
 state MASTER
 interface ens33
 virtual_router_id 51
 priority 200
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass Huawei@1
 }
 virtual_ipaddress {
 192.168.186.50/24
 }
}
EOF

cat > /etc/keepalived/keepalived.conf<<EOF
! Configuration File for keepalived
global_defs {
 router_id master1
}
vrrp_instance Nginx {
 state BACKUP
 interface ens33
 virtual_router_id 51
 priority 150
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass Huawei@1
 }
 virtual_ipaddress {
 192.168.186.50/24
 }
}
EOF

cat > /etc/keepalived/keepalived.conf<<EOF
! Configuration File for keepalived
global_defs {
 router_id master1
}
vrrp_instance Nginx {
 state BACKUP
 interface ens33
 virtual_router_id 51
 priority 100
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass Huawei@1
 }
 virtual_ipaddress {
 192.168.186.50/24
 }
}
EOF

k8smaster2 和 k8smaster3 配置如上,注意字段 state 修改为 BACKUP,降低 priority,例如k8smaster2 的 priority 值为 150,k8smaster3 的 priority 值为 100。

步骤 4 启动 nginx 和 Keepalived

3 台 master 节点执行以下命令:

systemctl enable nginx --now
systemctl enable keepalived --now

步骤 5 结果验证

3 台 master 节点执行以下命令,查看 nginx 和 keepalived 状态为 active(running):

systemctl status nginx
systemctl status keepalived

查看 k8smaster1 节点 IP 地址中显示 192.168.1.10 虚拟地址:

步骤 6 高可用切换验证

在 k8smaster1 停止 keepalived 服务,虚拟 IP 地址 192.168.1.10 切换到 k8smaster2:

1.4 部署 Kubernetes 集群

步骤 1 K8S软件安装

安装kubelet、kubeadm、kubectl、kubernetes-cni
yum install -y kubelet kubeadm kubectl kubernetes-cni
systemctl enable kubelet.service

1.5 K8S集群初始化

[root@k8smaster1 ~]# kubeadm config print init-defaults > kubeadm-init.yaml
[root@k8smaster1 ~]# vim kubeadm-init.yaml 
修改如下配置:

- advertiseAddress:为控制平面地址,( Master 主机 IP )
	advertiseAddress: 1.2.3.4
修改为 advertiseAddress: 172.16.100.21
- criSocket:为 containerd 的 socket 文件地址
	criSocket: unix:///var/run/containerd/containerd.sock
修改为 criSocket: unix:///var/run/cri-dockerd.sock
- name: node 修改node为 k8s-master01
	name: node
修改为 name: k8s-master01
clusterName下面添加 VIP和端口
controlPlaneEndpoint: 172.16.100.20:16443

- imageRepository:阿里云镜像代理地址,否则拉取镜像会失败
	imageRepository: registry.k8s.io
修改为:imageRepository: registry.aliyuncs.com/google_containers
- kubernetesVersion:为 k8s 版本
	kubernetesVersion: 1.28.0
修改为:kubernetesVersion: 1.28.5
注意:一定要配置镜像代理,否则会由于防火墙问题导致集群安装失败
文件末尾增加启用ipvs功能
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs


# 根据配置文件启动 kubeadm 初始化 k8s
$ kubeadm init --config=kubeadm-init.yaml --upload-certs --v=6

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of the control-plane node running the following command on each as root:

  kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \
	--discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e \
	--control-plane --certificate-key fbe0f58aeb0d2e0640f4ddcfcda3afb56ee04ea9a90dab22502511a315843509

Please note that the certificate-key gives access to cluster sensitive data, keep it secret!
As a safeguard, uploaded-certs will be deleted in two hours; If necessary, you can use
"kubeadm init phase upload-certs --upload-certs" to reload certs afterward.

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \
	--discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e 

[root@k8smaster1 ~]# mkdir -p $HOME/.kube
[root@k8smaster1 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@k8smaster1 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@k8smaster1 ~]# kubectl get node
NAME         STATUS     ROLES           AGE     VERSION
k8smaster1   NotReady   control-plane   3m37s   v1.28.9

 

 

1.6 K8S集群工作节点加入

步骤 1 其他 master 节点加入集群

所有的工作节点加入集群
注意:加入集群时需要添加 --cri-socket unix:///var/run/cri-dockerd.sock
[root@k8smaster2 ~]# kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \> --discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e \
> --cri-socket unix:///var/run/cri-dockerd.sock

[root@k8smaster3 ~]# kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \
> --discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e \
> --cri-socket unix:///var/run/cri-dockerd.sock

步骤 2 node 节点加入集群

[root@k8snode1 ~]# kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \
> --discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e \
> --cri-socket unix:///var/run/cri-dockerd.sock

[root@k8snode2 ~]# kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \
> --discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e \
> --cri-socket unix:///var/run/cri-dockerd.sock

[root@k8snode3 ~]# kubeadm join 192.168.186.50:16443 --token abcdef.0123456789abcdef \
> --discovery-token-ca-cert-hash sha256:74dc5e7f26f041e65ddc085b8eb9d05233a9394e50a8c19374f9bf5e198a3e5e \
> --cri-socket unix:///var/run/cri-dockerd.sock

步骤 3 安装网络插件 Calico

在 k8smaster1 节点执行以下命令:

[root@k8smaster1 ~]#  curl -O https://docs.projectcalico.org/archive/v3.23/manifests/calico.yaml
[root@k8smaster1 ~]# vim calico.yaml 
...
        - name: CALICO_IPV4POOL_CIDR
          value: "10.244.0.0/16"
[root@master ~]# kubectl apply -f calico.yaml

步骤 4 查看节点状态

在 k8smaster1 执行以下命令,查看所有节点状态 Ready,需要在部署 calico 完成后等待几分钟

至此,kubernetes的集群环境搭建完成  

1.7 结果验证

步骤 1 创建 deployment

在 k8smaster1 节点中执行以下命令,在集群中创建一个 deployment,验证是否正常运行:

[root@k8smaster1 ~]# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
[root@k8smaster1 ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed

步骤 2 访问 service

在 k8smaster1 节点执行以下命令,查看 service/nginx 的 IP 地址:

 [root@k8smaster1 ~]# kubectl get pod,svc

在任意节点执行以下命令,使用 curl 访问 service,注意 IP 地址为上述命令查看到的 IP 地址,不能直接复制以下命令:

[root@k8smaster1 ~]# curl 10.103.233.15

步骤 3 访问 pod

在 k8smaster1 节点执行以下命令,查看 pod 的 IP 地址:

root@k8smaster1 ~]# kubectl get pods -o wide

在任意节点执行以下命令,使用 curl 访问 pod,注意 IP 地址为上述命令查看到的 IP 地址,不能直接复制以下命令:  

[root@k8smaster1 ~]# curl 172.16.185.193

步骤 4 删除 deployment 和 service

 

[root@k8smaster1 ~]# kubectl delete deployment nginx
deployment.apps "nginx" deleted
[root@k8smaster1 ~]# kubectl delete service nginx
service "nginx" deleted
[root@k8smaster1 ~]# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/627786.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Kubenetes】微服务治理:服务网格Istio安装搭建体验

文章目录 ServiceMesh介绍Istio解决方案安装Istio第一步 下载istio第二步 安装istio环境第三部 安装istio应用第四部 暴露到外部流量然后再下一步 把dashboard弄好 ServiceMesh介绍 扯淡环节 什么是服务网格?–服务间通信&#xff0c;可扩展性和灵活性服务网格的工作原理 --…

地平线旭日X3开发板编译USB网卡驱动 AX88772B

由于使用的激光雷达是网口输出的&#xff0c; 为了不占用X3派已有的网口&#xff0c;接上去了一个绿联的usb网卡&#xff0c; 发现系统没有驱动&#xff0c;所以动手看看能不能自己编译一个 首先lsusb查看一下网卡型号 发现型号是AX88772B&#xff0c;去官网看了一下&#x…

急救指南:苹果手机掉水里怎么处理?

【苹果手机进水后&#xff0c;如果及时处理&#xff0c;一般不会造成严重损害。但是&#xff0c;如果处理不当&#xff0c;可能会损坏手机的内部零件&#xff0c;甚至无法开机。】 苹果手机作为我们日常生活中不可或缺的一部分&#xff0c;承载着许多重要的信息和联系方式。然…

最近很火的iOS模拟器Delta iPhone模拟器使用教程

苹果在2024年调整策略允许游戏模拟器上架App Store后&#xff0c;能够让iPhone和iPad设备也能够直接玩模拟器游戏和复古游戏。如今真正原创首款iOS模拟器「Delta–Game Emulator」已经正式上架App Store苹果商店&#xff0c;能够让iPhone设备免越狱&#xff0c;也能轻松玩任天堂…

模拟量电机控制器PWM 输出隔离转换器4-20mA/0-5V/0-10V转50Hz/100Hz/1KHz/10KHz/100KHz

主要特性: 精度、线性度误差等级&#xff1a; 0.1、0.2、0.5 级4-20mA/0-5V/0-10V 等标准信号输入可选择RS485 通讯输入&#xff0c;支持 Modbus 协议PWM 信号输出&#xff0c;PWM 频率可选PWM 输出驱动能力可达 5A信号输入/信号输出 3000VDC 隔离可选择一进一出&#xff0c;一…

多客陪玩系统,陪玩系统源码,线下搭子,爆改家政整理师等功能,陪玩预约系统 定制化陪玩系统,陪玩软件APP小程序H5游戏陪玩成品软件源码

简述 陪玩系统源码是指一款游戏陪玩平台的程序代码。陪玩系统通常是一个在线平台&#xff0c;可以让用户通过该平台找到愿意为他们提供游戏陪玩服务的人员&#xff0c;从而帮助他们在游戏中取得更好的成绩。这种系统通常包括客户端和服务器端两个部分&#xff0c;客户端用于用…

如何购买RAKsmart的国外高防服务器?

随着互联网的快速发展&#xff0c;网络安全问题日益凸显&#xff0c;特别是对于拥有在线业务的企业或个人来说&#xff0c;选择一款高防服务器显得尤为关键。美国RAKsmart作为知名的服务器提供商&#xff0c;其高防服务器因其卓越的性能和安全性&#xff0c;受到了广大用户的青…

合合信息:TextIn文档解析技术与高精度文本向量化模型再加速

文章目录 前言现有大模型文档解析问题表格无法解析无法按照阅读顺序解析文档编码错误 诉求文档解析技术技术难点技术架构关键技术回根溯源 文本向量化模型结语 前言 随着人工智能技术的持续演进&#xff0c;大语言模型在我们日常生活中正逐渐占据举足轻重的地位。大模型语言通…

NSS【web】刷题

[SWPUCTF 2021 新生赛]jicao 类型&#xff1a;PHP、代码审计、RCE 主要知识点&#xff1a;json_decode()函数 json_decode()&#xff1a;对JSON字符串解码&#xff0c;转换为php变量 用法&#xff1a; <?php $json {"ctf":"web","question"…

电子公章怎么弄到合同上

将电子公章添加到合同上的步骤大致如下&#xff1a; 选择一家合法的数字证书服务机构&#xff0c;申请数字证书。数字证书是用来证明数字签名和电子公章的合法性和有效性的。在申请数字证书时&#xff0c;需要提供相关的身份证明材料&#xff0c;经过审核后&#xff0c;就可以…

Spring的监听器使用(实用,直接拿去修改可用)

一&#xff0c;前言 这里我们以ApplicationListener为例&#xff0c;简单说明一下监听器如何使用。 本人基本只输出实用&#xff0c;即用的代码&#xff0c;希望能帮助到各位&#xff0c;如果想研究底层逻辑&#xff0c;大家可自行根据代码去类源码查看。 监听器的使用主要分…

机器视觉中的打光技巧、选择光源的流程

目录 基本原则选择照明的考虑因素明场照明和暗场照明全明场照明&#xff08;漫射照明&#xff09;技术 特定光源1. 环形光源2. 条形光源3. 同轴光源3.1 何时使用同轴照明&#xff1f;3.2 何时不使用同轴照明&#xff1f; 4. 背光源5. 远心照明6. 点光源7. 穹顶光源8. 线光源9. …

卷积神经网络CNN的运行过程、常见术语与问题

目录 一、CNN运行过程 1、卷积&#xff08;Convolution&#xff09; 2、激活函数&#xff08;activation function&#xff09; 3、池化&#xff08;pooling&#xff09; 3.1 池化操作 3.2 池化过程 3.3 池化后结果 4、Flatten 5、全连接层 Flatten层的操作 全连接层…

OKR到底该如何使用?

说到OKR,很多人会说之前都是用KPI&#xff0c;我们经常听到身边的人说&#xff1a;我这个月的KPI还没完成~这项列入你的KPI~KPI没有完成就没有奖金......那么OKR和KPI到底有什么区别呢&#xff1f;首先我们来了解下两者的概念和功能到底是什么&#xff1f; 什么是KPI? KPI是…

sqlserver账号没有“备份权限”,怎么将数据导出

前几天在工作中遇到一个问题&#xff0c;客户的数据在远程服务器上&#xff0c;客户给我分配的账号没有导出权限&#xff0c;但我想将数据从远程服务器上导到我的本地电脑上做开发。 常规的方法有以下三种&#xff1a; 1&#xff1a;任务->备份 这种方式需要有相关权限&a…

四信5G全连接工厂一站式解决方案上线,打造可持续发展工业未来

政策背景 2022年9月&#xff0c;为进一步加快“5G工业互联网”新技术新场景新模式向工业生产各领域各环节深度拓展&#xff0c;工信部印发《5G全连接工厂建设指南》&#xff0c;明确提出&#xff0c;推动万家企业开展5G全连接工厂建设&#xff0c;建成1000个分类分级、特色鲜明…

buff禁售武器箱和胶囊的原因,及游戏搬砖人该如何应对

大家好&#xff0c;我是童话&#xff0c;相信大家都看到这个消息了&#xff0c;buff平台在14号中午11点左右&#xff0c;已经全面禁止了武器箱和胶囊&#xff0c;纪念包等的上架和售卖。在饰品市场直接搜索武器箱或者胶囊&#xff0c;是完全搜索不出来任何东西的哈。 面对这一消…

阻抗控制理解之逆动态控制律

具有六个自由度的二阶机械系统&#xff0c;其特征是给定的质量、阻尼和刚度&#xff0c;称为机械阻抗。 用于运动控制的加速度解决方法&#xff0c;它旨在通过逆动力学控制律在加速度水平上解耦和线性化非线性机器人动力学。在与环境存在交互作用的情况下&#xff0c;控制律 考…

人武部三维电子沙盘系统

深圳易图讯科技有限公司(www.3dgis.top)系统采用自主可控高性能可视化三维GIS引擎&#xff0c;支持多用户客户端通过网络请求访问服务器地图和JFQ专题数据&#xff0c;提供地理信息数据、专题数据的并发访问和高效调度加载&#xff0c;依托前端设备采集的重点图像、视频等信息资…

数字功放-改善液晶显示屏音频性能,重塑音频体验

随着液晶电视、液晶显示器以及等离子电视屏幕的尺寸不断增大&#xff0c;音频性能要求相应提高&#xff1b;数字功放芯片作为音频解决方案&#xff1b;不仅为音频设备带来更高的效率和更低的功耗&#xff0c;同时在显示屏上进一步提高了平板显示器的音质&#xff0c;使之具有了…