技术文章梳理
技术文章计算机基础
Socket 核心原理分享
WebSocket 详解教程
常见 MIME 类型列表
linux
Vi 常用命令
Linux固定IP地址
linux如何复制文件夹和移动文件夹
linux find 命令查找文件和文件夹
HTTPS静态服务搭建过程详解
Linux中查询当前用户的命令总结
OpenSSL 及创建私有CA
对象存储
Amazon S3 API
Amazon S3 功能介绍
OOS对象存储
Nginx
idea-常用插件-nginx
Nginx 配置详解
Nginx支持WebSocket反向代理-学习小结
数据库
数据库事务的概念及其实现原理
视图、索引、存储过程 、触发器、游标及事务
MongoDB
最详细的Windows平台安装MongoDB教程
MySQL基础
mysql创建存储过程
MySQL 字符串截取函数
MySQL的七种join
MySQL CAST与CONVERT 函数的用法
MySQL 获得当前日期时间 函数
MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
...
MetalLB 安装
MetalLB 安装下载 release 版本1234567wget https://github.com/metallb/metallb/archive/refs/tags/v0.12.1.tar.gztar -zxvf v0.12.1.tar.gzcd metallb-0.12.1/manifestskubectl apply -f namespace.yamlkubectl apply -f metallb.yaml
查看 pod 状态1kubectl -n metallb-system get pods
查看 Deploy 状态1kubectl -n metallb-system get deploy
目前还没有宣布任何内容,因为我们没有提供ConfigMap,也没有提供负载均衡地址的服务。接下来要生成一个 Configmap 文件,为 Metallb 设置网址范围以及协议相关的选择和配置,这里以一个简单的二层配置为例。
修改ip地址池,从集群IP地址段中为MetalLB分配部分IP地址:
12345678910111213141516vim example-layer ...
mysql 查看表字段注释
查看列注释:
您可以通过两种方式查看 MySQL 列的注释:
使用SHOW FULL COLUMNS查询:
1SHOW FULL COLUMNS FROM employee_designation;
使用 MySQL Workbench:
在 SCHEMAS 部分选择表,然后点击信息图标。
切换到 COLUMNS 标签,即可查看列的注释。
重塑生活的八个步骤
重塑生活的八个步骤一、洗净你的肉身洗澡,刷牙,穿上清新的衣服,时刻让自己的肉身整洁干净,这将向你的潜意识传递【你值得呵护】的信号。
二、整顿你的领地打扫你的寝室,彻底清理你的房子,扔掉那些让你心烦意乱的废物。因为你的空间怎么样,你就是怎么样的人。如果你的空间乱七八糟,那你也是乱七八糟人。
三、走出家门在我们信步行走、阳光洒脸、眼珠左右转动之时,大脑的运转状态最佳。走出去,因为我们生来就是为了与他人建立关系和与社群建立联系的。如果我们永远不离开家,我们将会悄然错失真实的生活。
四、流汗让血液流动起来,去出点汗,因为消耗能量也会产生能量。
五、监控你的小金库巨头每天都在做偷鸡摸狗的事,通过自动订阅掏空辛苦挣来的钱。请立刻打开你的订阅管理,取消所有默认的支付行为,你的小金库很重要!
六、移除束缚,脱身引诱关闭通知,取关不必要的社交账号,戒断所有抽烟喝酒的成瘾行为。
七、制定策略别再漫无目的地生活,天上不会掉馅饼。立即制定策略,付诸行动。
八、臣服臣服于你必须做的事情,你已经思考过了,关闭你的大脑,卸下过度思考的负担。学会让你的理性思考静音。
安装 longhorn 出现的坑
安装 longhorn 出现的坑安装 longhorn1kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.5.1/deploy/longhorn.yaml
观察安装情况
123kubectl get pods \--namespace longhorn-system \--watch
出现的坑longhorn-manager 一直处于 CrashLoopBackOff 状态,查看日志
1kubectl logs longhorn-manager-6f8c6f4f5f-8q9q8 -n longhorn-system
发现是因为缺少 iscsiadm/open-iscsi
12root@dev:~/k8s/kubevirt# kubectl logs -f longhorn-manager-4xgcq -n longhorn-system time="2023-11-03T05:41:17Z" level=fatal msg="Error starting ...
用 Dockerfile 文件构建带 systemd 的ubuntu 22.04
用 Dockerfile 文件构建带 systemd 的ubuntu 22.04Dockerfile 文件1234567891011121314FROM ubuntu:22.04WORKDIR /root# noninteractive 配置时不需要输入任何信息ENV DEBIAN_FRONTEND="noninteractive"# 配置时区ENV TZ=Asia/Shanghai# 配置apt源RUN sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list# 安装必要的软件RUN apt update && apt install -y init locales# 配置语言环境RUN locale-gen en_US.UTF-8# 配置 entrypoint 为 init, 是 init 可以作为 pid 1 运行, 并且可以启动 systemdENTRYPOINT ["/usr/sbin/init"]
...
k8s 创建单节点 mysql 并持久化存储
k8s 创建单节点 mysql 并持久化存储配置示例
创建 pvc
123456789101112apiVersion: v1kind: PersistentVolumeClaimmetadata: name: mysql-data namespace: devspec: accessModes: - ReadWriteMany storageClassName: csi-cephfs-sc-retain resources: requests: storage: 50Gi
mysql 的一些资源配置
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374apiVersion: v1kind: ConfigMapmetadata: name: mysql-config namespace: devdata: rootPw ...
cloud-init 无法调整分区大小:当 LANG 不是 en_US 时,growpart 不起作用
起因起初是想验证一下 kubevirt 动态扩展磁盘功能,发现在 kubevirt 资源定义上已经配置了 ExpandDisks 功能门,且 cephfs 的动态存储的 pvc 也已经配置了 allowVolumeExpansion: true,但是在 kubevirt 虚拟机中的 cloud-init 执行 growpart 报错,发现并没有生效。kubevirt 的版本是 0.56.0cr 资源定义如下:
1234567891011121314151617181920212223242526272829apiVersion: kubevirt.io/v1kind: KubeVirtmetadata: name: kubevirt namespace: kubevirtspec: ... configuration: developerConfiguration: featureGates: - LiveMigration - DataVolumes - ExpandDisks - GPU imagePul ...
k8s 网络策略
如果你希望在 IP 地址或端口层面(OSI 第 3 层或第 4 层)控制网络流量, 则你可以考虑为集群中特定应用使用 Kubernetes 网络策略(NetworkPolicy)。 NetworkPolicy 是一种以应用为中心的结构,允许你设置如何允许 Pod 与网络上的各类网络“实体” (我们这里使用实体以避免过度使用诸如“端点”和“服务”这类常用术语, 这些术语在 Kubernetes 中有特定含义)通信。 NetworkPolicy 适用于一端或两端与 Pod 的连接,与其他连接无关。
Pod 可以通信的 Pod 是通过如下三个标识符的组合来辩识的:
其他被允许的 Pods(例外:Pod 无法阻塞对自身的访问)
被允许的名字空间
IP 组块(例外:与 Pod 运行所在的节点的通信总是被允许的, 无论 Pod 或节点的 IP 地址)
在定义基于 Pod 或名字空间的 NetworkPolicy 时, 你会使用选择算符来设定哪些流量可以进入或离开与该算符匹配的 Pod。 另外,当创建基于 IP 的 NetworkPolicy 时,我们基于 IP 组块(CIDR 范围)来定义策略 ...
k8s 创建 ubuntu22.04 并暴露22端口
要在Kubernetes中创建一个Ubuntu 20.04容器暴露22端口并在后台永久运行,可以按照以下步骤进行操作:
创建一个名为ubuntu-ssh的Deployment:123456789101112131415161718192021apiVersion: apps/v1kind: Deploymentmetadata: name: ubuntu-sshspec: replicas: 1 selector: matchLabels: app: ubuntu-ssh template: metadata: labels: app: ubuntu-ssh spec: containers: - name: ubuntu-ssh image: ubuntu:20.04 command: ["/bin/bash"] args: ["-c", "while true; do sleep 30; done"] ...








