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 文件1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556...
Windows 配置自动登录
一般情况下,Windows 开机后会停留在锁屏界面,就算不配置密码,也需要点一下登录按钮才能进入桌面。我有个电脑我需要远程访问,但是它每次开机都不会自动连 Wi-Fi,必须要进入桌面才能自动连上 Wi-Fi,所以我配置一下让电脑开机可以自动进入桌面,忽略开机密码。自动登录只是开机时候可以自动进入桌面,但是锁屏后还是需要输入密码的。 这么做有安全风险,让开机密码形同虚设!! 方法一:注册表法(推荐)保存成 bat 文件,导入这个注册表文件即可 123456Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]"AutoAdminLogon"="1""DefaultUserName"="你的Windows用户名""DefaultPassword"="你的Windows密码" 如果是微软账号,用户名...
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 节点不要忘了将新的节点增加到 A...
使用 PowerShell 修改 Windows 防火墙规则
修改网络位置(专用网络或共用网络)在 windows 7 时代在控制面板里是可以直接修改的, 但是在 Windows 11 已经不能修改了。 使用公用网络会影响到防火墙策略, 比如在专用网络下, 局域网内是可以网络发现其他设备的。 比如我用 zerotier 这个软件会给电脑安装一个虚拟网卡,家里的电脑 zerotier 的网卡设置成了公用网络,那么就不能 rdp 远程连接家里电脑了。 修改方法需要以管理员身份运行 PowerShell 来执行: 12345678910111213141516171819PS C:\Users\iuxt> Get-NetConnectionProfileName : CMCC-CaptainInterfaceAlias : WLANInterfaceIndex : 13NetworkCategory : PrivateDomainAuthenticationKind : NoneIPv4Connectivity : Inte...
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) # 这里加载英文模型,如果需要识别...
在Kubernetes中部署nacos 2.1.0
本次在 Kubernetes 上部署 nacos 2.1.0 版本, 部署 3 节点集群,不做数据持久化(nacos 的配置管理是存储 MySQL 数据库的,服务发现是需要本地存储的)新版本 nacos 部署参考: 在Kubernetes中部署nacos 2.3.2 MySQL 数据库准备创建数据库,配置好账号权限,执行如下 SQL 建表: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441...
使用cronjob自动重启k8s的deployment
配置权限1234567891011121314151617181920212223242526272829303132---kind: ServiceAccountapiVersion: v1metadata: name: deployment-restart namespace: default---apiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata: name: deployment-restart namespace: defaultrules: - apiGroups: ["apps", "extensions"] resources: ["deployments"] resourceNames: [] verbs: ["get", "patch", "list", "watch"] # list 和 watch 就够用了,如果需要执行 ro...
PHP应用容器化遇到的一些问题
这里以 WordPress 为例,我们不用官方的镜像,而是用 php 镜像 php 官方有个自带 apache 的版本,如:php:8.1.32-apache, 建议用这个版本,这个版本不用考虑 Nginx 和 php 的文件共享问题,启动容器: 1234docker run --rm -d --name php-test \ -v ./app:/var/www/html \ -p 8080:80 \php:8.1.32-apache 自定义 php 配置文件比如调整 PHP 上传文件大小限制 docker run 的时候挂载 php.ini 123docker run ... \ -v ./php.ini:/usr/local/etc/php/conf.d/php.ini \... php.ini 增加 1upload_max_filesize = 1024M 安装 Core 扩展这个时候说明 php 正常工作了,但是缺扩展。 123FROM php:8.1.32-apacheRUN docker-php-ext-configure mysqli \ &&...

