centos7.9离线安装kubernetes(k8s)1.28版本

news2024/11/30 18:51:57

文章目录

  • 一、环境准备
  • 二、所有节点执行
    • 1、解压安装包
    • 2、创建/etc/modules-load.d/containerd.conf配置文件
    • 3、执行以下命令使配置生效
    • 4、创建/etc/sysctl.d/99-kubernetes-cri.conf配置文件
    • 5、加载ipvs内核模块–4.19以上版本内核
    • 6、授权生效
    • 7、关闭swap,并永久关闭
    • 8、关闭防火墙和seliunx
    • 9、配置/etc/hosts
    • 10、安装containerd和cni,主节点和工作节点都要执行
    • 11、安装 kubectl kubeadm kubelet 三剑客
    • 12、启动kubelet
    • 13、导入镜像
  • 二、Master节点执行
    • 1、kubeadm init
    • 2、添加证书
  • 三、Work节点执行
    • 1、其他节点加入
  • 四、Master节点执行
    • 1、部署网络插件
  • 五、检验是否安装成功
  • 六、安装kubord
    • 1、打标签
    • 2、编辑kuboard-v3.yaml
    • 3、部署
    • 4、登录

一、环境准备

三台虚拟机、离线安装包(需要离线安装包请找我)
在这里插入图片描述

二、所有节点执行

1、解压安装包

tar -zxvf pkg20240805.tar.gz

2、创建/etc/modules-load.d/containerd.conf配置文件

cat << EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

3、执行以下命令使配置生效

modprobe overlay
modprobe br_netfilter

4、创建/etc/sysctl.d/99-kubernetes-cri.conf配置文件

# 创建文件
cat << EOF > /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
user.max_user_namespaces=28633
EOF
# 生效
sysctl -p /etc/sysctl.d/99-kubernetes-cri.conf

5、加载ipvs内核模块–4.19以上版本内核

cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF

6、授权生效

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

7、关闭swap,并永久关闭

swapoff -a
sed -i "s/^[^#].*swap/#&/" /etc/fstab

8、关闭防火墙和seliunx

systemctl disable firewalld && systemctl stop firewalld
sed  -i 's/enforcing/disabled/g' /etc/selinux/config && setenforce 0

9、配置/etc/hosts

# 设置主机名称(根据自己设置主机名称)

# (master )
hostnamectl set-hostname master-11  && bash 
# (work )
hostnamectl set-hostname node-12  && bash 
hostnamectl set-hostname node-13  && bash 

# host文件
cat >> /etc/hosts << EOF
192.168.56.11 master-11
192.168.56.12 node-12
192.168.56.13 node-13
EOF

# 配置完之后互相ping一下看通不通

10、安装containerd和cni,主节点和工作节点都要执行

# 进入到我们解压的目录
cd pkg/runc
#直接解压到根目录
tar zxvf cri-containerd-1.6.25-linux-amd64.tar.gz -C /
#生成默认配置文件
mkdir /etc/containerd && containerd config default  > /etc/containerd/config.toml
#修改默认配置
sed -i 's#SystemdCgroup = false#SystemdCgroup = true#g' /etc/containerd/config.toml
sed -i 's#k8s.gcr.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g'  /etc/containerd/config.toml
sed -i 's#registry.gcr.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g' /etc/containerd/config.toml
sed -i 's#registry.k8s.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g'  /etc/containerd/config.toml
sed -i s/pause:3.6/pause:3.9/g /etc/containerd/config.toml

#启动containerd
systemctl daemon-reload
systemctl start containerd
systemctl enable containerd

# 安装cni
mkdir -p /opt/cni/bin 
tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.3.0.tgz

# 更新libseccomp
# 查看是否安装并保证版本大于2.3.1
rpm -qa | grep libseccomp
rpm -e  --nodeps libseccomp-2.3.1-4.el7.x86_64
rpm -ivh libseccomp-2.5.1-1.el8.x86_64.rpm

11、安装 kubectl kubeadm kubelet 三剑客

# 注意目录
cd pkg/kubeadm &&  yum localinstall *.rpm -y

12、启动kubelet

systemctl enable kubelet && systemctl start kubelet

13、导入镜像

cd pkg/images && sh images_import.sh

二、Master节点执行

1、kubeadm init

# kubernetes-version:版本
# apiserver-advertise-address:主节点ip;
# pod-network-cidr:pod的ip,可以不指定,没什么影响
kubeadm init --apiserver-advertise-address=192.168.56.11 --kubernetes-version v1.28.1   --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
# 注意【若要重新初始化集群状态:kubeadm reset,然后再进行上述操作】

在这里插入图片描述

2、添加证书

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 保留方便后续加入work节点
kubeadm join 192.168.56.11:6443 --token 4ors48.0ph175l15lqw5bez \
	--discovery-token-ca-cert-hash sha256:ac3ecc79034c8d7ed3240f3d6a354441a84a496d51f4705da98c30c58c2a4ecc

三、Work节点执行

1、其他节点加入

kubeadm join 192.168.56.11:6443 --token 4ors48.0ph175l15lqw5bez \
	--discovery-token-ca-cert-hash sha256:ac3ecc79034c8d7ed3240f3d6a354441a84a496d51f4705da98c30c58c2a4ecc

四、Master节点执行

1、部署网络插件

# 一定确保全部Running状态,再安装网络插件!(除了前两个)
[root@master-11 images]# kubectl get pods -n kube-system
NAME                                READY   STATUS    RESTARTS   AGE
coredns-6554b8b87f-p8vp9            0/1     Pending   0          4m11s
coredns-6554b8b87f-wdmgn            0/1     Pending   0          4m11s
etcd-master-11                      1/1     Running   0          4m23s
kube-apiserver-master-11            1/1     Running   0          4m23s
kube-controller-manager-master-11   1/1     Running   0          4m23s
kube-proxy-9s57h                    1/1     Running   0          2m11s
kube-proxy-ksqm6                    1/1     Running   0          4m11s
kube-proxy-q5dxn                    1/1     Running   0          2m19s
kube-scheduler-master-11            1/1     Running   0          4m23s


cd pkg/calico && kubectl apply -f calico.yaml

五、检验是否安装成功

[root@master-11 calico]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-7c968b5878-v8djq   1/1     Running   0          2m51s
calico-node-6vxq8                          1/1     Running   0          2m51s
calico-node-rc4z8                          1/1     Running   0          2m51s
calico-node-sx2z7                          1/1     Running   0          2m51s
coredns-6554b8b87f-p8vp9                   1/1     Running   0          7m18s
coredns-6554b8b87f-wdmgn                   1/1     Running   0          7m18s
etcd-master-11                             1/1     Running   0          7m30s
kube-apiserver-master-11                   1/1     Running   0          7m30s
kube-controller-manager-master-11          1/1     Running   0          7m30s
kube-proxy-9s57h                           1/1     Running   0          5m18s
kube-proxy-ksqm6                           1/1     Running   0          7m18s
kube-proxy-q5dxn                           1/1     Running   0          5m26s
kube-scheduler-master-11                   1/1     Running   0          7m30s

[root@master-11 calico]# kubectl get nodes
NAME        STATUS   ROLES           AGE     VERSION
master-11   Ready    control-plane   7m56s   v1.28.1
node-12     Ready    <none>          5m49s   v1.28.1
node-13     Ready    <none>          5m40s   v1.28.1

六、安装kubord

官网:https://www.kuboard.cn/install/v3/install-in-k8s.html#%E5%AE%89%E8%A3%85

1、打标签

# 打标签 只给主打即可
kubectl label nodes master-11  k8s.kuboard.cn/role=etcd

2、编辑kuboard-v3.yaml

---
apiVersion: v1
kind: Namespace
metadata:
  name: kuboard

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: kuboard-v3-config
  namespace: kuboard
data:
  # 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-built-in.html
  # [common]
  KUBOARD_SERVER_NODE_PORT: '30080'
  KUBOARD_AGENT_SERVER_UDP_PORT: '30081'
  KUBOARD_AGENT_SERVER_TCP_PORT: '30081'
  KUBOARD_SERVER_LOGRUS_LEVEL: info  # error / debug / trace
  # KUBOARD_AGENT_KEY 是 Agent 与 Kuboard 通信时的密钥,请修改为一个任意的包含字母、数字的32位字符串,此密钥变更后,需要删除 Kuboard Agent 重新导入。
  KUBOARD_AGENT_KEY: 32b7d6572c6255211b4eec9009e4a816
  KUBOARD_AGENT_IMAG: registry.cn-hangzhou.aliyuncs.com/cxfpublic/kuboard-agent
  KUBOARD_QUESTDB_IMAGE: registry.cn-hangzhou.aliyuncs.com/cxfpublic/questdb:6.0.5
  KUBOARD_DISABLE_AUDIT: 'false' # 如果要禁用 Kuboard 审计功能,将此参数的值设置为 'true',必须带引号。

  # 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-gitlab.html
  # [gitlab login]
  # KUBOARD_LOGIN_TYPE: "gitlab"
  # KUBOARD_ROOT_USER: "your-user-name-in-gitlab"
  # GITLAB_BASE_URL: "http://gitlab.mycompany.com"
  # GITLAB_APPLICATION_ID: "7c10882aa46810a0402d17c66103894ac5e43d6130b81c17f7f2d8ae182040b5"
  # GITLAB_CLIENT_SECRET: "77c149bd3a4b6870bffa1a1afaf37cba28a1817f4cf518699065f5a8fe958889"
  
  # 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-github.html
  # [github login]
  # KUBOARD_LOGIN_TYPE: "github"
  # KUBOARD_ROOT_USER: "your-user-name-in-github"
  # GITHUB_CLIENT_ID: "17577d45e4de7dad88e0"
  # GITHUB_CLIENT_SECRET: "ff738553a8c7e9ad39569c8d02c1d85ec19115a7"

  # 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-ldap.html
  # [ldap login]
  # KUBOARD_LOGIN_TYPE: "ldap"
  # KUBOARD_ROOT_USER: "your-user-name-in-ldap"
  # LDAP_HOST: "ldap-ip-address:389"
  # LDAP_BIND_DN: "cn=admin,dc=example,dc=org"
  # LDAP_BIND_PASSWORD: "admin"
  # LDAP_BASE_DN: "dc=example,dc=org"
  # LDAP_FILTER: "(objectClass=posixAccount)"
  # LDAP_ID_ATTRIBUTE: "uid"
  # LDAP_USER_NAME_ATTRIBUTE: "uid"
  # LDAP_EMAIL_ATTRIBUTE: "mail"
  # LDAP_DISPLAY_NAME_ATTRIBUTE: "cn"
  # LDAP_GROUP_SEARCH_BASE_DN: "dc=example,dc=org"
  # LDAP_GROUP_SEARCH_FILTER: "(objectClass=posixGroup)"
  # LDAP_USER_MACHER_USER_ATTRIBUTE: "gidNumber"
  # LDAP_USER_MACHER_GROUP_ATTRIBUTE: "gidNumber"
  # LDAP_GROUP_NAME_ATTRIBUTE: "cn"

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kuboard-boostrap
  namespace: kuboard

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kuboard-boostrap-crb
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kuboard-boostrap
  namespace: kuboard

---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    k8s.kuboard.cn/name: kuboard-etcd
  name: kuboard-etcd
  namespace: kuboard
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.kuboard.cn/name: kuboard-etcd
  template:
    metadata:
      labels:
        k8s.kuboard.cn/name: kuboard-etcd
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: node-role.kubernetes.io/master
                    operator: Exists
              - matchExpressions:
                  - key: node-role.kubernetes.io/control-plane
                    operator: Exists
              - matchExpressions:
                  - key: k8s.kuboard.cn/role
                    operator: In
                    values:
                      - etcd
      containers:
        - env:
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: HOSTIP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.hostIP
          image: 'registry.cn-hangzhou.aliyuncs.com/cxfpublic/etcd-host:3.4.16-1'
          imagePullPolicy: Always
          name: etcd
          ports:
            - containerPort: 2381
              hostPort: 2381
              name: server
              protocol: TCP
            - containerPort: 2382
              hostPort: 2382
              name: peer
              protocol: TCP
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: 2381
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          volumeMounts:
            - mountPath: /data
              name: data
      dnsPolicy: ClusterFirst
      hostNetwork: true
      restartPolicy: Always
      serviceAccount: kuboard-boostrap
      serviceAccountName: kuboard-boostrap
      tolerations:
        - key: node-role.kubernetes.io/master
          operator: Exists
        - key: node-role.kubernetes.io/control-plane
          operator: Exists
      volumes:
        - hostPath:
            path: /usr/share/kuboard/etcd
          name: data
  updateStrategy:
    rollingUpdate:
      maxUnavailable: 1
    type: RollingUpdate


---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: kuboard-v3
  name: kuboard-v3
  namespace: kuboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.kuboard.cn/name: kuboard-v3
  template:
    metadata:
      labels:
        k8s.kuboard.cn/name: kuboard-v3
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - preference:
                matchExpressions:
                  - key: node-role.kubernetes.io/master
                    operator: Exists
              weight: 100
            - preference:
                matchExpressions:
                  - key: node-role.kubernetes.io/control-plane
                    operator: Exists
              weight: 100
      containers:
        - env:
            - name: HOSTIP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.hostIP
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
          envFrom:
            - configMapRef:
                name: kuboard-v3-config
          image: 'registry.cn-hangzhou.aliyuncs.com/cxfpublic/kuboard:v3'
          imagePullPolicy: Always
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /kuboard-resources/version.json
              port: 80
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: kuboard
          ports:
            - containerPort: 80
              name: web
              protocol: TCP
            - containerPort: 443
              name: https
              protocol: TCP
            - containerPort: 10081
              name: peer
              protocol: TCP
            - containerPort: 10081
              name: peer-u
              protocol: UDP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /kuboard-resources/version.json
              port: 80
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          # startupProbe:
          #   failureThreshold: 20
          #   httpGet:
          #     path: /kuboard-resources/version.json
          #     port: 80
          #     scheme: HTTP
          #   initialDelaySeconds: 5
          #   periodSeconds: 10
          #   successThreshold: 1
          #   timeoutSeconds: 1
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      serviceAccount: kuboard-boostrap
      serviceAccountName: kuboard-boostrap
      tolerations:
        - key: node-role.kubernetes.io/master
          operator: Exists

---
apiVersion: v1
kind: Service
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: kuboard-v3
  name: kuboard-v3
  namespace: kuboard
spec:
  ports:
    - name: web
      nodePort: 30080
      port: 80
      protocol: TCP
      targetPort: 80
    - name: tcp
      nodePort: 30081
      port: 10081
      protocol: TCP
      targetPort: 10081
    - name: udp
      nodePort: 30081
      port: 10081
      protocol: UDP
      targetPort: 10081
  selector:
    k8s.kuboard.cn/name: kuboard-v3
  sessionAffinity: None
  type: NodePort

3、部署

kubectl apply -f kuboard-v3.yaml

# 执行指令 watch kubectl get pods -n kuboard,等待 kuboard 名称空间中所有的 Pod 就绪
kubectl get pods -n kuboard

4、登录

安装Kuboard的地址,也是master节点IP:
http://192.168.56.11:30080/

用户名:admin 密码:Kuboard123

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF——动态排名图表实现

开发环境 VS2022 .NET 8.0 MVVM Toolkit 8.2.2 需求 开发中需要实现按照成绩动态指名&#xff0c;以展示当前的竞赛成绩的一个实时情况及变化。 即如下效果&#xff1a; 需求分析 按照接收到的信息&#xff0c;就是要将获取到的集合排序&#xff0c;并且要将排序前后的变…

什么是UDP?

UDP是工作在OSI&#xff08;开放系统互连&#xff0c;Open Systems Interconnection&#xff09;模型中传输层的协议。它使用IP作为底层协议&#xff0c;是为应用程序提供一种以最少的协议机制向其他程序发送消息的协议。其主要特点是无连接&#xff0c;不保证可靠传输和面向报…

汽车线束智能制造:MES系统与工艺深度融合的革新之路

万界星空科技汽车线束工厂MES系统解决方案是针对线束制造行业特定需求而设计的一套集成化管理系统&#xff0c;旨在提高生产效率、优化资源配置、确保产品质量并增强企业竞争力。 一、汽车线束制造工艺 汽车线束&#xff0c;作为连接汽车各个电子部件的桥梁&#xff0c;承载着…

论文:NeRF on the go:Exploiting Uncertainty for Distractor-free NeRFs in the Wild

随时随地使用NeRF。本文的目标是利用在野外随意捕捉的图像序列或视频作为输入&#xff0c;训练一个用于静态场景的NeRF&#xff0c;并有效地移除场景中的所有动态元素&#xff08;如汽车、电车、行人等&#xff09;&#xff0c;即干扰物。与现有的方法如NeRF-W [27]和RobustNeR…

python依赖包安装失败的解决办法(适用于conda安装)

版权声明&#xff1a;本文为博主原创文章&#xff0c;如需转载请贴上原博文链接&#xff1a;python依赖包安装失败的解决办法&#xff08;适用于conda安装&#xff09;-CSDN博客 前言&#xff1a;这个问题之前一直困扰着我&#xff0c;因为最近要升级Anaconda-Navigator&#x…

代码随想录算法训练营第十八天(二叉树 六)

力扣题部分: 530.二叉搜索树的最小绝对差 题目链接:. - 力扣&#xff08;LeetCode&#xff09; 题面: 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 思路: 写关于二…

第T11周:优化器对比实验

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊]** 本次主要是探究不同优化器、以及不同参数配置对模型的影响 &#x1f680;我的环境&#xff1a; 语言环境&#xff1a;Python3.11.…

CSS 布局

CSS 页面布局技术允许我们拾取网页中的元素&#xff0c;并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。布局有一下几种 正常布局流display属性弹性盒子网格浮动定位CSS 表格布局多列布局 每种布局都有它们的用途&#xff0c;各有优缺点&#xff0c;相…

CSS伪类选择器和伪元素

伪类&#xff08;Pseudo-classes&#xff09; 伪类用于定义元素的特殊状态。它们被添加到选择器中以指定元素在其生命周期的特定状态下的样式。伪类不创建新的文档内容&#xff0c;也不创建新的文档树中的元素。相反&#xff0c;它们提供了一种方法来根据元素的状态来应用样式…

统信UOS系统连接打印机操作步骤

系统版本 操作步骤 首先点击开始菜单 搜索框输入打印&#xff0c;点击打印管理器 点击图下所示的号 按照图下所示&#xff0c;手动查找->输入打印机的ip地址->点击查找 等到如图下所示&#xff0c;出现打印机的时候&#xff0c;选择打印机&#xff0c;然后选择驱动&…

嵌入式AI快速入门课程-K510篇 (第三篇 环境搭建及开发板操作)

第三篇 环境搭建及开发板操作 文章目录 第三篇 环境搭建及开发板操作1.配置VMware使用桥接网卡1.1 vmware设置1.2 虚拟网络编辑器设置 2.安装软件2.2 安装 Windows 软件2.3 使用MobaXterm远程登录Ubuntu2.4 使用FileZilla在Windows和Ubuntu之间传文件2.5编程示例&#xff1a;Ub…

迎接“云+AI”智算时代!生态案例分论坛议程一览 | 2024 龙蜥大会

2024 龙蜥操作系统大会由中国计算机学会开源发展委员会、中关村科学城委员会、海淀区委网信办、中国开源软件推进联盟指导&#xff0c;龙蜥社区主办&#xff0c;阿里云、中兴通讯、Intel、浪潮信息、Arm、中科方德等 24 家理事单位共同承办&#xff0c;主题为“进化重构赴未来”…

海南云亿商务咨询有限公司助力抖音商家破浪前行

在当下这个短视频与直播电商风起云涌的时代&#xff0c;抖音作为头部平台&#xff0c;正以其庞大的用户基数和强大的算法推荐机制&#xff0c;成为众多品牌与商家竞相追逐的新蓝海。而在这片波澜壮阔的海洋中&#xff0c;海南云亿商务咨询有限公司如同一艘稳健的航船&#xff0…

软件测试 —— JMeter 参数化4种方式!

一、JMeter参数化简介 1.JMeter参数化的概念 当使用JMeter进行测试时&#xff0c;测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时&#xff0c;则需进行参数化&#xff0c;然后从参数化的文件中来读取测试数据。 参数化&#xff1a;是自动化测试脚本的一种常…

【Prettier】代码格式化工具Prettier的使用和配置介绍

前言 前段时间&#xff0c;因为项目的prettier的配置和eslint格式检查有些冲突&#xff0c;在其prettier官网和百度了一些配置相关的资料&#xff0c;在此做一些总结&#xff0c;以备不时之需。 Prettier官网 Prettier Prettier 是一种前端代码格式化工具&#xff0c;支持ja…

从ESG尽职调查、ESG立法与ESG诉讼谈ESG营销(01)

哈佛大学2024年中回顾全球ESG发展近况 作者&#xff1a;哈佛大学 编辑&#xff1a;数字化营销工兵 2024年上半年&#xff0c;环境、社会和治理&#xff08;ESG&#xff09;问题以及对方法的不同意见继续成为全球头条新闻。今年年初&#xff0c;公司及其利益相关者在ESG的支持…

AppenTalk | 不止于赛场,巴黎奥运会上的中国AI科技

当地时间8月11日&#xff0c;第33届夏季奥林匹克运动会在巴黎法兰西体育场落下帷幕。本届奥运会&#xff0c;中国体育代表团收获令人振奋的40金27银24铜总计91枚奖牌&#xff0c;其中金牌数更是创下了境外参加奥运会的最佳成绩。 在中国健儿闪耀奥运赛场时&#xff0c;中国AI科…

Transformer系列-4丨DETR模型和代码解析

1 前言 往期的文章中&#xff0c;笔者从网络结构和代码实现角度较为深入地和大家解析了Transformer模型、Vision Transformer模型&#xff08;ViT&#xff09;以及BERT模型&#xff0c;其具体的链接如下&#xff1a; 基础Transformer解析 ViT模型与代码解析 BERT模型与代码解…

嵌入式AI快速入门课程-K510篇 (第七篇 系统BSP开发)

第七篇 系统BSP开发 文章目录 第七篇 系统BSP开发1. 嵌入式Linux系统介绍嵌入式Linux系统组成产品形态嵌入式芯片启动流程Linux系统Linux系统框架嵌入式编译环境 2.嵌入式Linux开发准备手册文档开发工具配套硬件工程源码 3.嵌入式Linux开发组成概述编译工具链什么是工具链什么是…

[Linux#43][线程] 死锁 | 同步 | 基于 BlockingQueue 的生产者消费者模型

目录 1. 死锁 解决死锁问题 2. 同步 2.1 条件变量函数 cond 2.2 条件变量的使用&#xff1a; 3.CP 问题--理论 4. 基于 BlockingQueue 的生产者消费者模型 1. 基本概念 2.BlockQueue.hpp 基本设置&#xff1a; 生产关系控制&#xff1a; 消费关系的控制 ⭕思考点 …