Kubernetes 集群部署 ------ 二进制部署(二)

2023-11-18

单节点 :https://blog.csdn.net/Yplayer001/article/details/104234807
在这里插入图片描述

先具备单master1节点部署环境

三、master02部署

优先关闭防火墙和selinux服务
在master01上操作

//复制kubernetes目录到master02
[root@localhost k8s]# scp -r /opt/kubernetes/ root@192.168.50.150:/opt
The authenticity of host '192.168.50.150 (192.168.50.150)' can't be established.
ECDSA key fingerprint is SHA256:APJMEiNcVfKUcen7B87XvVOjtToM3/xc7CbAgZamvKQ.
ECDSA key fingerprint is MD5:24:0b:7c:57:7d:b7:51:70:7a:f5:b9:2a:32:fc:f7:ea.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.50.150' (ECDSA) to the list of known hosts.
root@192.168.50.150's password: 
token.csv                                          100%   84    32.6KB/s   00:00    
kube-apiserver                                     100%  934   115.9KB/s   00:00    
kube-scheduler                                     100%   94    20.4KB/s   00:00    
kube-controller-manager                            100%  483   127.8KB/s   00:00    
kube-apiserver                                     100%  184MB  45.9MB/s   00:04    
kubectl                                            100%   55MB  54.7MB/s   00:01    
kube-controller-manager                            100%  155MB  54.2MB/s   00:02    
kube-scheduler                                     100%   55MB  57.0MB/s   00:00    
ca-key.pem                                         100% 1679     1.4MB/s   00:00    
ca.pem                                             100% 1359   975.3KB/s   00:00    
server-key.pem                                     100% 1679   491.8KB/s   00:00    
server.pem                                         100% 1643   455.7KB/s   00:00   //复制master中的三个组件启动脚本kube-apiserver.service                   kube-controller-manager.service        kube-scheduler.service  

[root@localhost k8s]# scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.50.150:/usr/lib/systemd/system/
root@192.168.50.150's password: 
kube-apiserver.service                             100%  282   253.0KB/s   00:00    
kube-controller-manager.service                    100%  317   257.6KB/s   00:00    
kube-scheduler.service                             100%  281   112.3KB/s   00:00  

master02上操作
修改配置文件kube-apiserver中的IP
–bind-address=192.168.50.150
–advertise-address=192.168.50.150

[root@localhost ~]# cd /opt/kubernetes/cfg/
[root@localhost cfg]# vim kube-apiserver
KUBE_APISERVER_OPTS="--logtostderr=true \
--v=4 \
--etcd-servers=https://192.168.195.149:2379,https://192.168.195.150:2379,https://192.168.195.151:2379 \
--bind-address=192.168.50.150 \
--secure-port=6443 \
--advertise-address=192.168.50.150 \
--allow-privileged=true \
--service-cluster-ip-range=10.0.0.0/24 \
--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction \
--authorization-mode=RBAC,Node \
--kubelet-https=true \
--enable-bootstrap-token-auth \
--token-auth-file=/opt/kubernetes/cfg/token.csv \
--service-node-port-range=30000-50000 \
--tls-cert-file=/opt/kubernetes/ssl/server.pem  \
--tls-private-key-file=/opt/kubernetes/ssl/server-key.pem \
--client-ca-file=/opt/kubernetes/ssl/ca.pem \
--service-account-key-file=/opt/kubernetes/ssl/ca-key.pem \
--etcd-cafile=/opt/etcd/ssl/ca.pem \
--etcd-certfile=/opt/etcd/ssl/server.pem \
--etcd-keyfile=/opt/etcd/ssl/server-key.pem"
特别注意:master02一定要有etcd证书,否则apiserver服务无法启动
需要拷贝master01上已有的etcd证书给master02使用
[root@localhost k8s]# scp -r /opt/etcd/ root@192.168.50.150:/opt/
root@192.168.50.150's password: 
etcd                                               100%  516    16.3KB/s   00:00    
etcd                                               100%   18MB  56.0MB/s   00:00    
etcdctl                                            100%   15MB  45.6MB/s   00:00    
ca-key.pem                                         100% 1675   480.5KB/s   00:00    
ca.pem                                             100% 1265   523.0KB/s   00:00    
server-key.pem                                     100% 1679     1.6MB/s   00:00    
server.pem                                         100% 1338     1.0MB/s   00:00    

启动master02中的三个组件服务

[root@localhost cfg]# systemctl start kube-apiserver.service 
[root@localhost cfg]# systemctl start kube-controller-manager.service 
[root@localhost cfg]# systemctl start kube-scheduler.service 

增加环境变量

[root@localhost cfg]# vim /etc/profile
#末尾添加
export PATH=$PATH:/opt/kubernetes/bin/
[root@localhost cfg]# source /etc/profile

master2查看群集中的节点

[root@localhost cfg]# kubectl get node
NAME              STATUS   ROLES    AGE     VERSION
192.168.50.140   Ready    <none>   2d12h   v1.12.3
192.168.50.141   Ready    <none>   38h     v1.12.3

四、负载均衡部署

lb1(192.168.50.142/24)
lb2(192.168.50.143/24)
VIP (192.168.50.100/24)

lb01 lb02部署:
安装nginx服务,把nginx.sh和keepalived.conf脚本拷贝到家目录

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
[root@localhost ~]# yum install nginx -y
//添加四层转发
[root@localhost ~]# vim /etc/nginx/nginx.conf 

events {
    worker_connections  1024;
}

#将stream模块添加进去
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.50.139:6443;
        server 192.168.50.150:6443;
    }
    server {
                listen 6443;
                proxy_pass k8s-apiserver;
    }
    }
    
http {
[root@localhost ~]# systemctl start nginx

部署keepalived服务

[root@localhost ~]# yum install keepalived -y
//修改配置文件
[root@localhost ~]# cp keepalived.conf /etc/keepalived/keepalived.conf 
cp:是否覆盖"/etc/keepalived/keepalived.conf"? yes
//注意:lb01是Mster配置如下:

! Configuration File for keepalived 
 
global_defs { 
   # 接收邮件地址 
   notification_email { 
     acassen@firewall.loc 
     failover@firewall.loc 
     sysadmin@firewall.loc 
   } 
   # 邮件发送地址 
   notification_email_from Alexandre.Cassen@firewall.loc  
   smtp_server 127.0.0.1 
   smtp_connect_timeout 30 
   router_id NGINX_MASTER 
} 

vrrp_script check_nginx {
    script "/etc/nginx/check_nginx.sh"
}

vrrp_instance VI_1 { 
    state MASTER 
    interface ens33
    virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 
    priority 100    # 优先级,备服务器设置 90 
    advert_int 1    # 指定VRRP 心跳包通告间隔时间,默认1秒 
    authentication { 
        auth_type PASS      
        auth_pass 1111 
    }  
    virtual_ipaddress { 
        192.168.50.100/24 
    } 
    track_script {
        check_nginx
    } 
}

//注意:lb02是Backup配置如下:
! Configuration File for keepalived 
 
global_defs { 
   # 接收邮件地址 
   notification_email { 
     acassen@firewall.loc 
     failover@firewall.loc 
     sysadmin@firewall.loc 
   } 
   # 邮件发送地址 
   notification_email_from Alexandre.Cassen@firewall.loc  
   smtp_server 127.0.0.1 
   smtp_connect_timeout 30 
   router_id NGINX_MASTER 
} 

vrrp_script check_nginx {
    script "/etc/nginx/check_nginx.sh"
}

vrrp_instance VI_1 { 
    state BACKUP 
    interface ens33
    virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 
    priority 90    # 优先级,备服务器设置 90 
    advert_int 1    # 指定VRRP 心跳包通告间隔时间,默认1秒 
    authentication { 
        auth_type PASS      
        auth_pass 1111 
    }  
    virtual_ipaddress { 
        192.168.50.100/24 
    } 
    track_script {
        check_nginx
    } 
}

[root@localhost ~]# vim /etc/nginx/check_nginx.sh
count=$(ps -ef |grep nginx |egrep -cv "grep|$$")

if [ "$count" -eq 0 ];then
    systemctl stop keepalived
fi
[root@localhost ~]# chmod +x /etc/nginx/check_nginx.sh
[root@localhost ~]# systemctl start keepalived
查看lb01地址信息
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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 qlen 1000
    link/ether 00:0c:29:1a:6f:51 brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.142/24 brd 192.168.50.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.50.100/24 scope global secondary ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::d324:6059:c2f2:4f94/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::75c0:73c1:af3e:a5c5/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::cea:108:8cd9:1808/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever

在这里插入图片描述

查看lb02地址信息
[root@localhost nginx]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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 qlen 1000
    link/ether 00:0c:29:42:6e:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.143/24 brd 192.168.50.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::d324:6059:c2f2:4f94/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::75c0:73c1:af3e:a5c5/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::cea:108:8cd9:1808/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
//验证地址漂移(lb01中使用pkill nginx,再在lb02中使用ip a 查看)
//恢复操作(在lb01中先启动nginx服务,再启动keepalived服务)
//nginx站点/usr/share/nginx/html
验证地址漂移(lb01中使用pkill nginx,再在lb02中使用ip a 查看)

在这里插入图片描述
开始修改node节点配置文件统一VIP(bootstrap.kubeconfig,kubelet.kubeconfig)

[root@localhost cfg]# vim /opt/kubernetes/cfg/bootstrap.kubeconfig
[root@localhost cfg]# vim /opt/kubernetes/cfg/kubelet.kubeconfig
[root@localhost cfg]# vim /opt/kubernetes/cfg/kube-proxy.kubeconfig

//统统修改为VIP
server: https://192.168.50.100:6443

[root@localhost cfg]# systemctl restart kubelet.service 
[root@localhost cfg]# systemctl restart kube-proxy.service 

//替换完成直接自检
[root@localhost cfg]# grep 100 *
bootstrap.kubeconfig:    server: https://192.168.50.100:6443
kubelet.kubeconfig:    server: https://192.168.50.100:6443
kube-proxy.kubeconfig:    server: https://192.168.50.100:6443

在lb01上查看nginx的k8s日志

[root@localhost ~]# tail /var/log/nginx/k8s-access.log 
192.168.50.141 192.168.50.139:6443 - [09/Feb/2020:11:18:41 +0800] 200 1120
192.168.50.141 192.168.50.150:6443 - [09/Feb/2020:11:18:41 +0800] 200 1120
192.168.50.140 192.168.50.139:6443 - [09/Feb/2020:11:18:56 +0800] 200 1120
192.168.50.140 192.168.50.139:6443 - [09/Feb/2020:11:18:56 +0800] 200 1120

在master01上操作

//测试创建pod
[root@localhost ~]# kubectl run nginx --image=nginx
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx created

//查看状态
[root@localhost ~]# kubectl get pods
NAME                    READY   STATUS              RESTARTS   AGE
nginx-dbddb74b8-nf9sk   0/1     ContainerCreating   0          33s   //正在创建中
[root@localhost ~]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dbddb74b8-hhkfm   1/1     Running   0          28s  //创建完成,运行中

//注意日志问题
[root@localhost ~]# kubectl logs nginx-dbddb74b8-hhkfm

[root@localhost ~]# kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous
clusterrolebinding.rbac.authorization.k8s.io/cluster-system-anonymous created

查看pod网络

[root@localhost ~]# kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE     IP           NODE             NOMINATED NODE
nginx-dbddb74b8-hhkfm   1/1     Running   0          2m36s   172.17.0.2   192.168.50.141   <none>

在对应网段的node(192.168.50.141)节点上操作可以直接访问

[root@localhost cfg]# curl 172.17.0.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

master01查看日志

[root@localhost ~]# kubectl logs nginx-dbddb74b8-hhkfm
172.17.0.1 - - [09/Feb/2020:03:29:10 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 集群部署 ------ 二进制部署(二) 的相关文章

  • 十六、K8s安全管理与资源限制

    实验环境 按照图示部署好了K8s集群 一个Master 两个worker nodes 访问控制概述 apiserver作为k8s集群系统的网关 是访问及管理资源对象的唯一入口 余下所有需要访问集群资源的组件 包括kube controlle
  • Minikube安装以及一些踩坑的解决

    安装k8s和docker 我的测试系统是centos7 8的国内服务器 参考文档 https developer aliyun com article 221687 首先先安装k8s 1 19 2版本 1 19 x 版本的安装 腾讯云 do
  • K8s基础10——数据卷、PV和PVC、StorageClass动态补给、StatefulSet控制器

    文章目录 一 数据卷类型 1 1 临时数据卷 节点挂载 1 2 节点数据卷 节点挂载 1 3 网络数据卷NFS 1 3 1 效果测试 1 4 持久数据卷 PVC PV 1 4 1 效果测试 1 4 2 测试结论 二 PV PVC生命周期 2
  • k8s job机制初探

    博客作为学习笔记记录 若有理解或表述错误 欢迎指出 k8s的job机制 k8s官网参考 k8s的job是用来执行一次性任务的一类资源 相关的还有cronjob 用于执行以下周期性任务 部署job之后 k8s会起对应pod 当pod的状态为f
  • CNI Plugin 介绍

    CNI 插件包括两种类型 CNI Plugin 和 IPAM IP Address Management Plugin CNI Plugin 负责为容器配置网络资源 IPAM Plugin 负责对容器的 IP 地址进行分配和管理 IPAM
  • 基于hostpath的k8s pod日志持久化

    基于hostpath的k8s pod日志持久化 前置条件 step1 修改服务的yaml文件 step2 推送日志到minio版保存 step3 优化 附加 简单了解 前置条件 考虑到pod的多副本 但同时需要将日志集中收集起来 所以采用h
  • k8s安装遇到过的一些问题

    无法获取recomended yaml文件 root k8master1 wget https raw githubusercontent com kubernetes dashboard v2 7 0 aio deploy recomme
  • minikube单机安装nfs服务

    1 安装 nfs server sudo apt get update sudo apt get install y nfs kernel server 2 创建目录 配置 IP 共享目录绑定 vim etc exports 新增 data
  • k8s部署springboot

    前言 首先以SpringBoot应用为例介绍一下k8s的部署步骤 1 从代码仓库下载代码 比如GitLab 2 接着是进行打包 比如使用Maven 3 编写Dockerfile文件 把步骤2产生的包制作成镜像 4 上传步骤3的镜像到远程仓库
  • k8s-3:集群的三种网络

    k8s集群一共有三种网络模型 Node IP Node节点的IP地址 即物理网卡的IP地址 Pod IP Pod的IP地址 即docker容器的IP地址 此为虚拟IP地址 Cluster IP Service的IP地址 此为虚拟IP地址 N
  • 单机版kubernetes

    Kubernetes 集群的搭建是有一定难度的 官方安装推荐了MiniKube作为单机调试 学习 1 centos安装 1 1 先决条件 安装VirtualBox KVM Note Minikube 也支持 vm driver none 选
  • kubernetes集群更新证书(kubeadm方式)

    一 kubernets证书详情 1 查看证书 tree etc kubernetes pki etc kubernetes pki apiserver crt apiserver etcd client crt apiserver etcd
  • calico分配网络使k8s节点指定固定网段

    文章目录 calico分配网络使k8s节点指定固定网段 1 配置calicoctl 1 1 下载calicoctl 1 2 配置calicoctl 1 3 测试calicoctl 2 配置ippool 3 添加ippool 4 创建pod测
  • docker下mysql镜像初始化

    目录 1 介绍 2 部署及验证 2 1 场景复现 2 2 创建dockerfile 2 3 初始化脚本 2 4 构建镜像并查看 2 5 创建容器并验证 2 6 完成 1 介绍 原理 当Mysql容器首次启动时 会在 docker entry
  • k8s部署之ETCD集群

    k8s部署之ETCD集群 1 etcd下载 etcd下载地址 https github com coreos etcd releases 从github etcd的发布页面选取相应的版本用 wget url 来下载 如 wget https
  • k8s基本命令

    k8s命令 https kubernetes io zh docs tutorials kubernetes basics 官网地址 基本命令 查看节点服务器 kubectl get nodes 查看命名空间 kubectl get ns
  • namespace命令空间

    目录 1 解决什么问题 2 基本介绍 2 1 定义 2 2 应用场景 3 使用案例 4 资源配额 5 标签 5 1 定义 5 2 pod资源打标签 5 3 查看标签 1 解决什么问题 命令空间类似于C 中的命名空间 当用户数量较多的集群 才
  • kubernetes报错Error from server (AlreadyExists): error when creating "kubernetes-dashboard.yaml": serv

    在执行 kubectl apply f kubernetes dashboard yaml 报错 Error from server AlreadyExists error when creating kubernetes dashboar
  • kubeadm集群化部署多master节点(生产环境适用)

    一 背景介绍 k8s通过master集中式管理worknode的容器编排系统 而在生产环境为了维护高可用性 master的地位起到举无轻重的作用 一旦master节点失守 则会导致整个集群服务不可用 因此配置多master集群在生产环境非常
  • flannel和calico区别

    k8s网络模式 Flannel数据包在主机间转发是由backend实现的 目前已经支持UDP VxLAN host gw等多种模式 VxLAN 使用内核中的VxLAN模块进行封装报文 也是flannel推荐的方式 host gw虽然VXLA

随机推荐

  • 100-The 3n+1 problem

    100 The 3n 1 problem Time limit 3 000 seconds Problems in Computer Science are often classified as belonging to a certai
  • SpringBoot引入本地jar包,引用sdk

    1 引入本地jar包并通过maven打包成jar包 第一步 创建lib包 将所需的本地jar包导入 第二步 在pom文件中引导路径
  • 【开发工具】Python解释器的下载和安装(windows系统)

    Python解释器的下载和安装目录 一 Python解释器种类 二 CPython解释器的下载 三 CPython解释器的安装 四 验证解释器是否安装成功 一 Python解释器种类 CPython C语 开发的解释器 官 应 泛的解释器
  • HTML常用标签--整理篇

    HTML常用标签 文章目录 HTML常用标签 文本标签 HTML格式化标签 HTML图像标签 HTML表格标签 HTML表单标签 文本标签 常 文本标签如下
  • JaveWeb-12JDBC

    目录 一 JDBC 1 什么是JDBC 2 JDBC编程步骤 1 装载相应数据库的JDBC驱动并进行初始化 2 建立JDBC和数据库之间的Connection连接 3 创建Statement或者PreparedStatement接口 执行S
  • 二叉排序树(二叉搜索树)的时间复杂度&空间复杂度

    二叉排序树又称二叉查找树 二叉搜索树 它或是一棵空的二叉树 或是具有下列性质的二叉树 若它的左子树不空 则左子树上所有节点的值均小于根节点的值 若它的右子树不空 则右子树上所有节点的值均大于根节点的值 它的左右子树也都是二叉排序树 如果二叉
  • Redis为什么快

    Redis有多快 Redis采用的是基于内存的采用的是单进程单线程模型的 KV 数据库 由C语言编写 官方提供的数据是可以达到100000 的QPS 每秒内查询次数 这个数据不比采用单进程多线程的同样基于内存的 KV 数据库 Memcach
  • [数据库] MySQL基础知识之日期判断及添加排序序号

    这篇文章主要记录MySQL中遇到的几个基础问题 希望文章对你有所帮助 包括 1 日期类型的判断 2 decode函数的替代方法 3 查询语句中添加一个排序的序号 4 子函数查询select a 1 日期类型判断 日期类型主要是 DATE 显
  • Python中if __name__ == ‘__main__‘:

    也看了一些别人的总结 这里就结合其他文章谈谈自己的理解 Python中 if name main 我刚开始看的时候就直接把他当成了一个项目运行的开始 至于为什么也没有仔细研究 后来看得多了 就研究了一下 name 是每一个python文件的
  • win10安装Ubuntu20.04虚拟机

    打开VMware Workstation的界面为下方的画面 注意第一次安装的时候我的计算机中是没有系统的 点击创建新的虚拟机会出现下方界面 选择自定义然后点击下一步 继续点击下一步选择稍后安装操作系统 继续点击下一步 继续下一步选择安装位置
  • 二级下拉菜单布局(纵向、横向)

    一级菜单 在ul列表内建立li元素并清除默认样式 让所有li元素左浮动并清除浮动 DOM中文档结构如下 ul class clearfix li a href 1 a li li a href 2 a li li a href 3 a li
  • Jupyter远程配置

    安装Jupyter pip install jupyter 生成默认配置文件 jupyter notebook generate config 生成密钥 python gt gt gt from notebook auth import p
  • 【React】单页面应用限制多开登录

    react 单页面应用限制多开登录 情景 测试小姐姐提了一个 BUG 在同一浏览器中打开两个页面 两个页面分别登录不同的账号 A 页面先登录A B 页面再登录B 此时回到 A 页面 交互时账号数据应该刷新为 B 登录的账号 分析 这个问题
  • 怎么设置权限?后台管理系统中的功能权限和数据权限设置

    一 功能级 页面级 权限 不同的用户 角色 登录到管理系统后 看到的功能不一样 思路 前端进入登录页面 前端发送请求给后端 后端验证用户名和密码是否正确 如果验证通过 需要根据用户所属的角色查他对应功能 path 响应给前端 前端接收到后端
  • RK3568 CAN驱动更新说明

    RK3568 CAN问题 同时收发数据一段时间 几秒钟 can出现错误收发功能异常 必须重新down up恢复正常 内核更新rockchip canfd c iopoll h 配置Networking support gt CAN bus
  • 学习笔记-Matlab算法篇-图与网络

    图与网络 01基本概念 介绍 图分为无向图和有向图 一个无向图 undirected graph G是由一个非空有限集合 V G 和V G 中某些元素的无序对集合E G 构成的二元组 记为G V G E G V G 称为顶点集 E G 称为
  • openGL使用assimp加载fbx格式三维模型

    前言 前面的文章中有讲过assimp加载obj三维文档格式 如果想要加入纹理还得配合对应的mtl格式和png格式才能加入纹理 今天来说下使用assimp加载fbx格式的三维模型 先看下运行效果 使用fbx模型 1 assimp库下载以及配置
  • Cocos2d-Lua(Quick-Cocos2d-x)集成第三方SDK(一)

    在我们实际开发过程中 经常会遇到需要使用第三方SDK的情况 比如我们常用的 友盟 TalkingData之类的统计分析SDK 移动MM 电信爱游戏之类的计费SDK 个推 百度推送之类的推送SDK 诸如此类的在iOS平台也有一大堆 那么在使用
  • Python27编译成pyd, 遇到error: Unable to find vcvarsall.bat

    我目前遇到2种情况 前提安装了 Python27 Cython setup py from setuptools import setup from Cython Build import cythonize setup ext modul
  • Kubernetes 集群部署 ------ 二进制部署(二)

    单节点 https blog csdn net Yplayer001 article details 104234807 先具备单master1节点部署环境 三 master02部署 优先关闭防火墙和selinux服务 在master01上