公网部署 k3s 集群方法总结

公网部署 k3s 集群方法总结

基于公网完成跨云厂商服务器 k3s 集群部署 Kubernetes 在当下的火热程度不必多言,但由 ...

March 8, 2022 | 4 分钟 | 1754 字 | Tianlun Song
Kubernetes Pod 配置文件(完整注释)

Kubernetes Pod 配置文件(完整注释)

汇集几乎全部 k8s 配置项注释,方便查阅和学习 # yaml格式的pod定义文件 完整内容: apiVersion: v1 # 必选,版本号,例如v1 kind: Pod # 必选,Pod metadata: # 必选,元数据 name: string # 必选,Pod名称 namespace: string # 必选,Pod所属的命名空间 labels: # 自定义标签 - name: string # 自定义标签名称 annotations: # 自定义注释列表 - name: string # 自定义注释列表名称 spec: # 必选,Pod中容器的详细定义 containers: # 必选,Pod中容器列表 - name: string # 必选,容器名称 image: string # 必选,容器的镜像名称 imagePullPolicy: [Always | Never | IfNotPresent] # 获取镜像的策略 # Alawys 下载镜像 # IfnotPresent 优先使用本地镜像,否则下载镜像 # Nerver 仅使用本地镜像 command: [string] # 容器的启动命令列表,如不指定,使用打包时使用的启动命令 args: [string] # 容器的启动命令参数列表 workingDir: string # 容器的工作目录 volumeMounts: # 挂载到容器内部的存储卷配置 - name: string # 引用pod定义的共享存储卷的名称,需用volumes[]部分定义的的卷名 mountPath: string # 存储卷在容器内mount的绝对路径,应少于512字符 readOnly: boolean # 是否为只读模式 ports: # 需要暴露的端口库号列表 - name: string # 端口号名称 containerPort: int # 容器需要监听的端口号 hostPort: int # 容器所在主机需要监听的端口号,默认与Container相同 protocol: string # 端口协议,支持TCP和UDP,默认TCP env: # 容器运行前需设置的环境变量列表 - name: string # 环境变量名称 value: string # 环境变量的值 resources: # 资源限制和请求的设置 limits: # 资源限制的设置 cpu: string # Cpu的限制,单位为core数,将用于docker run --cpu-shares参数 memory: string # 内存限制,单位可以为Mib/Gib,将用于docker run --memory参数 requests: # 资源请求的设置 cpu: string # Cpu请求,容器启动的初始可用数量 memory: string # 内存请求,容器启动的初始可用数量 livenessProbe: # 对Pod内的容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方法即可 exec: # 对Pod容器内检查方式设置为exec方式 command: [string] # exec方式需要制定的命令或脚本 httpGet: # 对Pod内个容器健康检查方法设置为HttpGet,需要制定Path、port path: string port: number host: string scheme: string HttpHeaders: - name: string value: string tcpSocket: # 对Pod内个容器健康检查方式设置为tcpSocket方式 port: number initialDelaySeconds: 0 # 容器启动完成后首次探测的时间,单位为秒 timeoutSeconds: 0 # 对容器健康检查探测等待响应的超时时间,单位秒,默认1秒 periodSeconds: 0 # 对容器监控检查的定期探测时间设置,单位秒,默认10秒一次 successThreshold: 0 failureThreshold: 0 securityContext: privileged: false restartPolicy: [Always | Never | OnFailure] # Pod的重启策略, # Always 一旦不管以何种方式终止运行,kubelet都将重启 # OnFailure表示只有Pod以非0退出码退出才重启 # Nerver表示不再重启该Pod nodeSelector: obeject # 设置NodeSelector表示将该Pod调度到包含这个label的node上,以key:value的格式指定 imagePullSecrets: # Pull镜像时使用的secret名称,以key:secretkey格式指定 - name: string hostNetwork: false # 是否使用主机网络模式,默认为false,如果设置为true,表示使用宿主机网络 volumes: # 在该pod上定义共享存储卷列表 - name: string # 共享存储卷名称 (volumes类型有很多种) emptyDir: {} # 类型为emtyDir的存储卷,与Pod同生命周期的一个临时目录。为空值 hostPath: string # 类型为hostPath的存储卷,表示挂载Pod所在宿主机的目录 path: string # Pod所在宿主机的目录,将被用于同期中mount的目录 secret: # 类型为secret的存储卷,挂载集群与定义的secre对象到容器内部 scretname: string items: - key: string path: string configMap: #类型为configMap的存储卷,挂载预定义的configMap对象到容器内部 name: string items: - key: string path: string 参考文献 Kubernetes 文档/概念/配置 By k8s k8s yaml格式的Pod配置文件 ...

February 4, 2022 | 3 分钟 | 1460 字 | Tianlun Song
kubernetes 核心技术概念

kubernetes 核心技术概念

汇集 k8s 核心概念,帮助理解 复制控制器( `Replication Controlle...

February 4, 2022 | 8 分钟 | 3741 字 | Tianlun Song
Kubernetes 系列文章概述

Kubernetes 系列文章概述

Kubernetes系列文章概述 接触,了解 k8s 已经有一段时间了,但由于工作内容没有涉及到, ...

February 4, 2022 | 1 分钟 | 338 字 | Tianlun Song
INOTIFY - 监听事件

INOTIFY - 监听事件

Linux 2.6.13 内核中引入了新的文件系统变化通知机制 inotify ,使用该特性提供的用户态调用 api ,可以方便的完成文件变化监听。 各种语言基本都提供了对该接口的调用方法: C 不必多说, Perl 使用 [Linux::Inotify2](https://metacpan.org/pod/Linux::Inotify2) , Golang 使用 golang.org/x/sys/unix , Python 则使用 [pyinotify](https://github.com/seb-m/pyinotify) 即可完成调用。 ...

January 27, 2022 | 2 分钟 | 537 字 | Tianlun Song
Wiki.js 离线部署方法 | 离线拉取语言包

Wiki.js 离线部署方法 | 离线拉取语言包

最近想在内网搭建一套 Wiki,在调研了各种 wiki 的搭建方式、功能之后,选择了 wiki.js。但是在部署过程中,发现其默认是通过公网拉取语言包等资源,内网安装需要一些特别的方法。 ...

January 27, 2022 | 2 分钟 | 715 字 | Tianlun Song
macOS 使用 remote-viewer 连接 spice | PC 连接 spice 云桌面

macOS 使用 remote-viewer 连接 spice | PC 连接 spice 云桌面

介绍三种桌面平台下连接 spice 云桌面的方法。 最近需要使用到云桌面办公,但目前仅支持 win ...

January 25, 2022 | 1 分钟 | 442 字 | Tianlun Song
macOS 使用 remote-viewer 连接 spice 服务 | PC 连接 spice 云桌面方法

macOS 使用 remote-viewer 连接 spice 服务 | PC 连接 spice 云桌面方法

最近需要使用到云桌面办公,但目前仅支持 windows 客户端。后经过询问,发现是使用 spice 协议链接,提供地址后,即可使用第三方客户端链接。 MacOS 平台下没有很好的支持 spice 协议的图形化客户端,但是可以使用 remote-viewer 这个工具,也比较好用,下面介绍安装方法: ...

January 25, 2022 | 1 分钟 | 422 字 | Tianlun Song
解决 SSH 无操作自动断开 | pychram 超时无响应

解决 SSH 无操作自动断开 | pychram 超时无响应

工作中常需要连接着服务器,下班或暂时离开时会出现一段时间不操作终端,此时就会自动断开。 这本身无伤大雅,重连即可,直到我发现,一些依赖 SSH 提供的服务也会因此受到影响,比如 Pychram 远程开发,会在一段时间后无响应,只能重启 Pychram 解决,很影响效率。 ...

January 19, 2022 | 1 分钟 | 416 字 | Tianlun Song
Python 传值 or 传引用

Python 传值 or 传引用

先说结论:python不允许程序员选择采用传值还是传引用。 如果函数收到的是一个 可变对象 (比如 字典 或者 列表 )的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。 如果函数收到的是一个 不可变对象 (比如 数字 、 字符 或者 元组 )的引用,就不能直接修改原始对象--相当于通过“传值‘来传递对象。 在函数传值,或函数内部函数引用外部变量时,基本符合这个逻辑,比如: ...

January 19, 2022 | 1 分钟 | 239 字 | Tianlun Song