香橙派配置VNC Server
vnc 大致可以分为两种,一种直接查看 TTY 上正在显示的桌面(和插上显示器显示的一致),另一种是创建一个新的桌面(即 可以在一台 linux 上打开若干个桌面供若干用户使用) 这里使用虚拟桌面 VNC,用的是 tigervncserver, 全程使用 orangepi 用户, 香橙派安装的是 Ubuntu 22.04 系统, 如果需要直接转发显示器的内容,请查看 Ubuntu安装配置VNC直接转发桌面显示 安装依赖包12345sudo apt-get updatesudo apt-get upgradesudo apt-get -y install xorg lightdm xfce4 tango-icon-theme gnome-icon-theme dbus-x11sudo apt-get install xfonts-base tightvncserver 启动 VNC Server1vncserver :1 display :1 refers to port 5901 重启 VNC Server12vncserver -kill :1vncserver...
在Kubernetes环境下快速部署MySQL
收到个需求,开发团队希望快速启动一套业务环境,包括所有业务服务(部署在 Kubernetes 中)、MySQL 数据库、Redis 等中间件也一并创建出来并初始化,业务也需要自动连接上这些中间件。 本文记录一下在 Kubernetes 中部署 MySQL 并完成初始化操作(设置密码、创建数据库) 遇到的问题表名大小写敏感问题我们的业务需要数据库设置为表名大小写不敏感,即无论大小写都转换为小写,需要设置参数: 12[mysqld]lower_case_table_names=1 那么在容器中,参考官方文档,可以将 cnf 文件挂载到 /etc/mysql/conf.d/ 中。 创建多个数据库业务需要用到多个库,检查官方环境变量,有个 MYSQL_DATABASE 不过我测试可以创建一个库,不满足我们的需求。并且除了建库,可能还有其他的操作。 可以将你需要的 sql 文件放到 /docker-entrypoint-initdb.d 目录中,初始化的时候会自动执行。 完整的 yaml...
在Kubernetes中部署nacos 2.3.2
其他版本参考文档 在Kubernetes中部署nacos 2.1.0 nacos 官方文档写的太敷衍了,很多东西都需要自己去找,比如容器运行的时候,必须的环境变量都没有写全,遇到的一些坑整理了出来。 新版的变化鉴权逻辑优化官方说明:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html 2.2.2 版本之前的 Nacos 默认控制台,无论服务端是否开启鉴权,都会存在一个登录页;这导致很多用户被误导认为 Nacos 默认是存在鉴权的。在社区安全工程师的建议下,Nacos 自 2.2.2 版本开始,在未开启鉴权时,默认控制台将不需要登录即可访问,同时在控制台中给予提示,提醒用户当前集群未开启鉴权。 部分环境变量默认值删除nacos 新版(2.2.1 之后删除了默认值) 可以查看 /home/nacos/conf/application.properties 这个文件,如果有环境变量名不确认也可以到这个文件里查询: 比如: server.port=${NACOS_APPLICATION_PORT:8848}...
Kubernetes中的静态Pod
啥是静态 Pod静态 pod 就是不通过 Kubernetes 控制器直接运行的 pod,比如下面是一个 nginx 的静态 pod 123456789101112apiVersion: v1kind: Podmetadata: name: static-webspec: containers: - name: web image: registry.cn-hangzhou.aliyuncs.com/iuxt/nginx:1.27.0 ports: - name: web containerPort: 80 protocol: TCP 这种 pod 如果通过 kubectl delete pod static-web 来删除, 那么就直接删除了,不会像控制器一样重建 pod。 kubeadm 集群的组件二进制运行的组件二进制运行的组件就是不通过容器化,直接在机器上运行的组件,有 3 个组件 kubeadm kubelet kubectl ,其中: kubectl...
K8S的headless service
什么是 headless serviceheadless service 是配合 statefulset 控制器使用的,就是一个没有 ip 地址的普通 service yml 配置12345678910111213141516171819202122apiVersion: v1kind: Servicemetadata: name: zk-hs labels: app: zookeeperspec: ports: - name: tcp-client protocol: TCP port: 2181 targetPort: 2181 - name: tcp-follower port: 2888 targetPort: 2888 - name: tcp-election port: 3888 targetPort: 3888 selector: app: zookeeper clusterIP: None type: ClusterIP 在 statefulset...
在Kubernetes中部署zookeeper集群
部署遇到的问题挂载目录没有写入权限 修改容器启动命令,查看到用户 id 是 1001 官方也有说明 解决方法 1: 使用 initcontainer 授权12345678initContainers:- name: init image: busybox:1.28 command: ['sh', '-c', "chown -R 1001:1001 /bitnami/"] volumeMounts: - name: data mountPath: /bitnami/zookeeper 解决方法 2: 增加安全上下文,使用 root 用户这么做会降低容器的安全性,不推荐! 123securityContext: runAsUser: 0 runAsGroup: 0 最终的 yaml...
Windows 配置自动登录
windows 中有部分应用程序需要登录当前账户才可以自动启动,或者嫌输密码麻烦,都可以设置自动登录,不用删除开机密码(删除开机密码也要鼠标点一下登录才可以登录) 修改注册表旧版本 windows 10 或者 windows 7 可以直接设置,但是新版本 windows 没有了这个选项,需要修改注册表配置 将下面文本保存成 reg 文件,双击导入。 1234Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device]"DevicePasswordLessBuildVersion"=dword:00000000 netplwiz 配置win + R 输入 netplwiz 打开用户管理界面。 取消勾选 要使用本计算机,用户必须输入用户名和密码 选项, 在弹出的框中输入当前用户密码。
kubeadm 部署的集群 常见问题汇总
扩容节点扩容 Worker 节点 kubeadm init 后会输出在终端上, 有效期 2 小时, 超时后可以重新生成 生成添加命令: 1kubeadm token create --print-join-command 扩容 Master 节点生成加入命令12345678# 生成证书, 记录 certificate keykubeadm init phase upload-certs --upload-certs# 获取加入命令kubeadm token create --print-join-command# 将上面的输出结果拼接,这个就是加入 master 的命令,在新的 master 上执行echo "$(kubeadm token create --print-join-command) --control-plane --certificate-key $(kubeadm init phase upload-certs --upload-certs | tail -1)" 修改负载均衡配置扩容完 master 节点不要忘了将新的节点增加到...
使用 PowerShell 修改 Windows 防火墙规则
修改网络位置(专用网络或共用网络)在 windows 7 时代在控制面板里是可以直接修改的, 但是在 Windows 11 已经不能修改了。 使用公用网络会影响到防火墙策略, 比如在专用网络下, 局域网内是可以网络发现其他设备的。 比如我用 zerotier 这个软件会给电脑安装一个虚拟网卡,家里的电脑 zerotier 的网卡设置成了公用网络,那么就不能 rdp 远程连接家里电脑了。 修改方法需要以管理员身份运行 PowerShell 来执行: 12345678910111213141516171819PS C:\Users\iuxt> Get-NetConnectionProfileName : CMCC-CaptainInterfaceAlias : WLANInterfaceIndex : 13NetworkCategory : PrivateDomainAuthenticationKind : NoneIPv4Connectivity :...
Python 使用 Easyocr 进行图像识别
如果你有 NVIDIA GPU,可以额外安装 CUDA,提供更好的性能,没有 NVIDIA GPU,可以使用 CPU 计算。 easyocr 官方地址:https://github.com/jaidedai/easyocr 安装 pytorch1pip3 install torch torchvision torchaudio 安装 easyocr1pip3 install easyocr 精简输出默认情况下会输出:Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU. 可以通过添加参数 verbose=False 来去掉这个提示。 默认会输出坐标、字符等信息,如果只需要输出字符,可以增加参数 detail=0 获得精简的输出。 1234import easyocrreader = easyocr.Reader(['en'], gpu=False, verbose=False) #...