2024-12-01
评论
Kubernetes 服务调度详解
Kubernetes服务调度通过kube-scheduler将Pod分配至合适Node,利用节点绑定、亲和性及反亲和性等策略优化资源使用。
2024-12-01
评论
Kubernetes 服务发现之 Ingress
Ingress 是 Kubernetes 中用于管理外部访问集群内部服务的机制,通过七层负载均衡支持 HTTP 通信规则。它由 Ingress 策略和 Ingress Controller 组成,能够直接将请求反向代理到目标 Pod 上,从而绕过 kube-proxy 的转发。Ingress 对象需与 Service 对象处于同一命名空间,并且路径配置需注意避免其他路径被意外拦截。其工作流程包括定义 Ingress 规则、Ingress Controller 监听并应用这些规则来配置负载均衡器或反向代理,以及根据策略转发请求和服务响应。文章还提供了创建 Ingress Controller 和 Ingress 对象的具体示例资源清单及常用命令。
2024-12-01
评论
Kubernetes 配置之热更新工具 Reloader
Reloader监听K8s配置变化,自动重启应用以热更新配置。
2024-12-01
评论
Kubernetes 服务发现之 Ingress 进阶
本文介绍了Ingress的进阶使用示例,包括实现重定向、路由跳转、自定义Nginx配置、CORS支持及限流功能。通过在Ingress对象的注解中设置相应参数,可以灵活地控制HTTP请求的行为。例如,利用`nginx.ingress.kubernetes.io/permanent-redirect`进行URL重定向,使用`nginx.ingress.kubernetes.io/rewrite-target`实现路径重写,以及通过`nginx.ingress.kubernetes.io/enable-cors`启用跨源资源共享等。此外,文章还提供了关于Ingress配置的一些注意事项,如确保路径定义清晰以避免冲突、正确处理HTTPS请求等,强调了理解和遵循这些规则的重要性,以确保高效且安全的服务部署。
2024-12-01
评论
Kubernetes 服务发现之 Service
Kubernetes Service提供服务发现与负载均衡,支持多种类型如ClusterIP、NodePort等。
2024-12-01
评论
Kubernetes 服务发现之 Headless Service
Kubernetes Headless Service直接暴露Pod,适用于有状态应用等场景。
2024-11-27
评论
itrem基本使用
本文详细介绍了iTerm2的安装与配置方法,包括下载iTerm2并添加至应用程序、克隆或下载主题、下载Nerd Font字体、设置状态栏组件显示及调色、安装oh-my-zsh及其插件(如zsh-autosuggestions和zsh-syntax-highlighting)、安装starship命令行提示符工具以及fzf模糊搜索工具。此外,还介绍了如何安装tmux窗口分割工具,并提供了详细的.zshrc文件配置示例。文章进一步讲解了如何修改iTerm2默认大小、配置导出与迁移的方法,lrzsz上传下载工具的使用步骤,以及在Mac中永久区分文件/文件夹颜色的方法。最后,文章探讨了如何在iTerm2中设置option箭头快捷键,利用多屏同时操作多个ssh终端,解决滚动滚轮触发命令行历史记录的问题等高级功能。通过这些步骤,用户可以极大地提高iTerm2的使用效率和个性化体验。
2024-11-01
评论
Kubernetes 控制器之 ConfigMap
Kubernetes中的ConfigMap是一种用于存储非敏感信息的资源对象,它通过键值对形式向Pod提供配置信息,使得应用配置更加灵活且可移植。ConfigMap支持多种使用方式,包括作为环境变量、命令行参数或挂载为数据卷等,并且可以挂载多个ConfigMap以分离不同方面的配置。ConfigMap是命名空间级别的资源,可通过Kubernetes API进行管理。文章还提供了创建、更新、查看和删除ConfigMap的具体操作示例,如使用文件、env文件、字符串或者YAML格式定义的资源清单来创建ConfigMap。此外,介绍了如何通过修改资源清单或重新创建的方式来更新现有的ConfigMap。
2024-11-01
评论
Kubernetes 控制器之 StatefulSet
Kubernetes 中的 StatefulSet 是一种高级 API 对象,用于管理有状态应用的生命周期。它确保指定数量的 Pod 副本始终运行且是最新的,并通过保持 Pod 的有序性、持久性和唯一性来支持有状态应用。StatefulSet 控制器为每个 Pod 分配唯一的序号、提供持久化存储卷并保证其名称唯一,从而实现对数据的持续访问和个性化体验。此外,StatefulSet 支持滚动更新策略,允许逐步更新而不中断服务,并具备自动修复和版本回滚功能。通过无头服务(Headless Service),StatefulSet 还可以实现 Pod 间的直接通信。常用操作包括创建、更新、回滚、查看及删除 StatefulSet,以及调整副本数量。
2024-11-01
评论
Kubernetes 控制器之 ConfigMap 与 Secret 异同
ConfigMap和Secret都是Kubernetes中用于存储配置数据的资源,允许Pod通过环境变量或卷挂载访问这些信息。两者都可以使用命令行工具或API创建,并以键值对形式存储数据。当它们的内容更新时,相关的Pod需要手动重启才能获取到最新的配置。此外,ConfigMap与Secret都支持RBAC规则来管理访问权限。 不同之处在于:ConfigMap适用于非敏感数据(如普通配置文件),而Secret则专为敏感数据(如密码、令牌)设计;Secret中的数据默认加密存储于Etcd,提供更高安全性;ConfigMap不区分类型,但Secret有多种类型(例如Opaque);虽然ConfigMap理论上没有大小限制,但推荐不超过1MB,相比之下Secret由于加密原因通常具有更严格的大小约束;最后,在默认情况下,ConfigMap对所有用户开放,而Secret则需更加严格地控制访问权限。