随笔分类 - k8s
摘要:LimitRanger概述 尽管用户可以为容器或Pod资源指定资源需求及资源限制,但这并非强制性要求,那些未明确定义资源限制的容器应用很可能会因程序Bug或真实需求而吞掉本地工作节点上的所有可用计算资源。因此妥当的做法是,使用LimitRange资源在每个名称空间中限制每个容器的最小及最大计算资源用
阅读全文
摘要:准入控制概述 准入控制器是一段代码,它在对象持久化之前、请求经过身份验证和授权之后拦截对 Kubernetes API 服务器的请求。 准入控制器可以执行验证(Validating)、变异(Mutating)或两者兼而有之。 变更(mutating)控制器可以根据被其接受的请求更改相关对象;验证(v
阅读全文
摘要:证书生成方式 手动证书生成工具 在使用客户端证书认证的场景下,可以通过 easyrsa、 openssl 或 cfssl 等工具以手工方式生成证书。 证书 API 可以通过 certificates.k8s.io API 提供 x509 证书,用来做身份验证。 证书和证书签名请求 Kubernete
阅读全文
摘要:资源清单 k8s版本:v1.25.2 签发用户证书 创建私钥 # (umask 077; openssl genrsa -out user1.key 2048) 创建CSR文件 下面的脚本展示了如何生成 PKI 私钥和 CSR。 设置 CSR 的 CN 和 O 属性很重要。CN 是用户名,O 是该用
阅读全文
摘要:RBAC介绍 DAC(自主访问控制)、MAC(强制访问控制)、RBAC(基于角色的访问控制)和ABAC(基于属性的访问控制)这4种主流的权限管理模型中,Kubernetes支持使用后两种完成普通账户和服务账户的权限管理,另外支持的权限管理模型还有Node和Webhook两种。 RBAC是一种新型、灵
阅读全文
摘要:kubeconfig配置文件 基于无状态协议HTTP/HTTPS的API Server需要验证每次连接请求中的用户身份,因而kube-controller-manager、kube-scheduler和kube-proxy等各类客户端组件必须能自动完成身份认证信息的提交,但通过程序选项来提供这些信息
阅读全文
摘要:Service Accounts 介绍 服务帐户是一种非人类帐户,在 Kubernetes 中,它在 Kubernetes 集群中提供独特的身份。应用程序 Pod、系统组件以及集群内部和外部的实体可以使用特定 ServiceAccount 的凭据来标识该 ServiceAccount。此身份在各种情
阅读全文
摘要:鉴权概述 在 Kubernetes 中,你必须在鉴权(授予访问权限)之前进行身份验证(登录). Kubernetes 期望请求中存在 REST API 常见的属性。 这意味着 Kubernetes 鉴权适用于现有的组织范围或云提供商范围的访问控制系统, 除了 Kubernetes API 之外,它还
阅读全文
摘要:访问控制 API Server作为Kubernetes集群系统的网关,是访问及管理资源对象的唯一入口,它默认监听TCP的6443端口,通过HTTPS协议暴露了一个RESTful风格的接口。所有需要访问集群资源的集群组件或客户端,包括kube-controller-manager、kube-sched
阅读全文
摘要:查看dashboard版本兼容性 Kubernetes version 1.22 1.23 1.24 1.25 Compatibility ? ? ? ✓ k8s版本:v1.25.2 准备dashboard yaml文件 # wget https://raw.githubusercontent.co
阅读全文
摘要:日志收集流程 filebeat >kafka >logstash >elasticsearch 日志收集模式 具有日志代理功能的sidecar模式收集日志 logstash.conf input { kafka { bootstrap_servers => "172.16.3.213:19092,1
阅读全文
摘要:Pod 和容器日志 查看日志命令格式 # kubectl logs counter -c count 可以使用 kubectl logs --previous 从容器的先前实例中检索日志。 如果你的 Pod 有多个容器,请如下通过将容器名称追加到该命令并使用 -c 标志来指定要访问哪个容器的日志 节
阅读全文
摘要:Headless Services介绍 有时不需要或不想要负载均衡,以及单独的 Service IP。 遇到这种情况,可以通过显式指定 Cluster IP(spec.clusterIP)的值为 "None" 来创建 Headless Service。 你可以使用一个Headless Service
阅读全文
摘要:服务发现概述 通常,稍有规模的系统架构需要抽象楚相当数量的服务,这些服务间可能存在复杂的依赖关系和通信模型,考虑到容器编排环境的动态特性,让客户端获知服务端的地址便成了难题之一。kubernetes系统上的Service为pod中的服务类应用提供了一个固定的访问入口,但pod客户端中的应用还需要借助
阅读全文
摘要:创建应用 depoly-demoapp-v10.yaml apiVersion: v1 kind: Namespace metadata: name: demoapp apiVersion: apps/v1 kind: Deployment metadata: name: demoapp-deplo
阅读全文
摘要:创建应用 depoly-demoapp-v10.yaml apiVersion: v1 kind: Namespace metadata: name: demoapp apiVersion: v1 kind: Service metadata: labels: app: demoappv10 nam
阅读全文
摘要:web服务 depoly-demoapp-v10.yaml apiVersion: v1 kind: Namespace metadata: name: hpa-demoapp apiVersion: apps/v1 kind: Deployment metadata: labels: app: d
阅读全文
摘要:自动弹性缩放工具 Deployment、ReplicaSet、Replication Controller或StatefulSet控制器资源管控的Pod副本数量支持手动运行时调整,从而可以更好地匹配业务规模的实际需求,但这种调整的方式需要用户深度参与监控容器应用的资源压力并计算出合理的值进行调整,存
阅读全文
摘要:资源监控指标 Kubernetes系统上的关键指标大体可以分为两个主要组成部分:集群系统本身的指标和容器应用相关的指标。对于集群系统本身相关的监控层面而言,监控整个Kubernetes集群的健康状况是最核心的需求,包括所有工作节点是否运行正常、系统资源容量大小、每个工作节点上运行的容器化应用的数量以
阅读全文
摘要:环境说明 裸机集群 适用于部署在裸机服务器上的 Kubernetes 集群,以及使用通用 Linux 发行版(如 CentOS、Ubuntu...)手动安装 Kubernetes 的“原始”VM。通常会使用 30000-32767 范围内的端口。 Ingress-NGINX Controller 部
阅读全文

浙公网安备 33010602011771号