包含标签 k8s 中的文章

CronJob 和 Job 的 退出 POD 数量管理

CronJob 和 Job 的 Pod 退出保留时间 cronjob 可以认为 CronJob 作为定时调度器, 在正确的时间创建 Job Pod 完成任务。 在 CronJob 中, 默认 .spec.successfulJobsHistoryLimit: 保留 3 个正常退出的 Job .spec.failedJobsHistoryLimit: 1 个异常退出的 Job 1 2 3 4 5 6 7 8 9 10 11 12 13 apiVersion: batch/v1beta1 kind: CronJob metadata: name: zeus-cron-checkqueue namespace: zeus-dev spec: schedule: "*/10 * * * *" failedJobsHistoryLimit: 1 successfulJobsHistoryLimit: 3 jobTemplate: spec: template: # ... 略 https://github.com/kubernetes/kubernetes/issues/64056 job 除了 cronjob 管理 job 之外, job 本身也提供 .spec.ttlSecondsAfterFinished 进行退出管理。 默认情况下 如果 ttlSecondsAfterFinished 值未……

阅读全文

k8s 部署工具 kustomize 的实用小技巧

k8s 部署工具 kustomize 的实用小技巧 在 k8s 上的部署, 大多组件都默认提供 helm 方式。 在实际使用中, 常常需要针对不通环境进行差异化配置。 个人觉得, 使用 kustomize 替换在使用和管理上,比直接使用 helm 参数更为清晰 。 同时组件在一个大版本下的部署方式通常不会有太大的变化, 没有必要重新维护一套部署文档,其实也不一定有精力这……

阅读全文

calico 配置 BGP Route Reflectors

calico 配置 BGP Route Reflectors Calico作为k8s的一个流行网络插件,它依赖BGP路由协议实现集群节点上的POD路由互通;而路由互通的前提是节点间建立 BGP Peer 连接。BGP 路由反射器(Route Reflectors,简称 RR)可以简化集群BGP Peer的连接方式,它是解决BGP扩展性问题的有效方式;具……

阅读全文

calico 网络模型的简单笔记

calico 简单笔记 calico 是一种基础 vRouter 的3层网络模型 (BGP 网络)。 在应用到 k8s 中,可以提到常见的 flannel。 使用节点主机作为 vRouter 实现 3层转发。 提高网络性能。 calico 的网络模型 calico 可以通过设置 IP-in-IP 控制网络模型: https://docs.projectcalico.org/v3.5/usage/configuration/ip-in-ip ipipMode=Never: BGP 模型。 完全不使用 IP-in-IP 隧道, 这就是常用的 BGP 模型。 ipipMode=Always: calico 节点直接通过 IP 隧道的的方式实现节点互通。 这实际……

阅读全文

k8s nginx ingress 添加 x-forwarded

ingress 配置 for-forward-for The client IP address will be set based on the use of PROXY protocol or from the X-Forwarded-For header value when use-forwarded-headers is enabled. https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-forwarded-headers https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#forwarded-for-header 1 2 3 4 5 6 7 8 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: srv-bff-op-center annotations: nginx.ingress.kubernetes.io/forwarded-for-header: "X-Forwarded-For" kubernetes.io/ingress.class: "nginx"……

阅读全文

K8S 中使用 Heketi 管理 GlusterFS

K8S 中使用 Heketi 管理 GlusterFS 与 官方文档不同 , 本文中的 glusterfs 是独立与 k8s 之外的。 Heketi heketi 项目 为 GlusterFS 提供 RESTful 的 API 管理。 Requirements System must have glusterd service enabled and glusterfs-server installed Disks registered with Heketi must be in raw format. 目前提供两种管理方式: ssh, kubernetes heketi-ssh SSH Access SSH user and public key already setup on the node SSH user must have password-less sudo Must be able to run sudo commands from ssh. This requires disabling requiretty in the /etc/sudoers file 使用容器部署 https://hub.docker.com/r/heketi/heketi/ heketi-kubernetes 带实现 勘误 在使用 K8S 部署时, 如果客户端报错……

阅读全文

K8S节点下载 gcr.io 原生镜像

K8S下载 gcr.io 原生镜像 在国内是不能直接下载 gcr.io / k8s.gcr.io 等原生镜像的。 使用比较权威的三方源 aliyun , qcloud 将 gcr.io push 到 hub.docker.com 自建镜像代理 域名翻墙 域名翻墙 通过域名劫持,将目标地址直接解析到代理服务器上。 sniproxy 所有你需要的, 一个能直接访问 gcr.ip 的 https(443) 代理。 通过 sniproxy 实现。 通过 防火墙 , 安全组 限制访问来源。 1 2 # docker run -d --rm --network host --name sniproxy……

阅读全文

k8s node 节点

k8s node 节点介绍 node 是 k8s 的工作节点, cpu, memory 的提供者。 上面运行这实际工作的 pod。 node 的服务包括 container 环境、 kubelet 和 kube-proxy。 使用 kubectl 管理 node 基础语法为 : kubectl flag node <node_name> kubectl cordon / uncordon 1 2 3 4 # 驱逐 kubectl cordon node <node_name> # 恢复 kubectl uncordon node <node_name>……

阅读全文

福利派送

  • (免费星球)「运维成长路线」

  • 又拍云免费 CDN

最近文章

分类

标签

其它