随笔分类 - Kubernetes
摘要:在我们服务做滚动更新的过程中,一个pod被kill,替换为新版本的pod的时候,残留在旧有pod的请求可能会因为pod被kill而导致处理失败。 在k8s中有一个参数叫prestop。假如旧pod请求处理时长需要5秒,则使用prestop让pod在kill过程中再保留10秒。这样来达到降低失败请求的
阅读全文
摘要:一次特殊需求,需要对一个ns中的域名uri转入另一个ns的服务。 在实际测试中发现,ingress层只对本地ns的svc提供支持,使用跨ns域名服务(svc.ns.cluster.local)则无法生效。 这时候可以通过svc的别名方法来规避这个问题。 例: kind: ServiceapiVers
阅读全文
摘要:k8s使用存活探针livenessProbe进行pod存活性检测,使用就绪探针确保未就绪的pod不会被加入service的后端。启动探针确保程序启动后才开始剩下俩种探针的探测,启动探针一般用的比较少。 使用示例: 在spec.container下: tcp探测 livenessProbe: fail
阅读全文
摘要:spec: minReadySeconds: 600 progressDeadlineSeconds: 601 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate 在deployment中添加以上信息,
阅读全文
摘要:我们知道k8s访问内部域名可以使用 pod名.namespace.svc.cluster.local。但有时需要往pod增加自定义的host解析。有一个参数可以支持,在deployment.spec.spec中添加: hostAliases: - hostnames: - xxxx.xunlei.c
阅读全文
摘要:上周在调整K8S中某域名其中一段PATH的ingress白名单问题时,由于对ingress的白名单策略理解不充分导致错误配置,使白名单应用到全域名中造成整个域名403。 特此花时间研究一下整个ingress相关的配置。 参考文档:https://github.com/kubernetes/ingre
阅读全文
摘要:微服务对于传统应用,将传统单体应用拆分成粒度更细的多个功能较为独立,解耦程度更高,扩展能力更强的微小应用(也就是服务),多个微服务组成一个完整的单体应用。并通过容器化的方式,实现单个微服务的滚动更新而不影响其他服务。微服务会暴露服务,通常使用rest api设计语言。 微服务的缺点则是如果粒度太细,
阅读全文
摘要:sysctl -w net.core.somaxconn=65535 sysctl -w net.ipv4.ip_local_port_range="1024 65535" sysctl -w fs.file-max=1048576 sysctl -w fs.inotify.max_user_ins
阅读全文
摘要:apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: pv.kubernetes.io/bind-completed: "yes" pv.kubernetes.io/bound-by-controller: "yes" v
阅读全文
摘要:podAntiAffinity 反亲和性 匹配pod标签为app=ingress-nginx的pod,不与它部署在同一个节点上。
阅读全文
摘要:注意:在阿里的k8s中使用SLB,当服务(pod)发生漂移后,slb后端也会动态修改,此时会有瞬间的5xx错误,同时注意会覆盖原先手动配置的配置。因此给K8S提供SLB时最好使用全新的SLB。 四层协议yaml文件 apiVersion: v1 kind: Service metadata: ann
阅读全文
摘要:这里提供俩种创建yaml文件,第一种只监控你的CPU使用率,第二种监控你的CPU和内存。 前提:1.HPA需要依赖K8S中一些监控插件如heapster或metrics。 2.deployment中需指定resources,例如: resources: limits: cpu: 1024m memo
阅读全文
摘要:一:阿里云k8s集群中要挂载nas,首先需要满足nas与集群处于同一个VPC。 二:使用PV,PVC的方式进行挂载,PV的yaml定义中必须使用子目录挂载,否则POD起来会有chown: changing ownership of '/var/lib/mysql/': Operation not p
阅读全文
摘要:initContainers是一种专用的容器,在应用程序容器启动之前运行,可以包括一些应用程序镜像中不存在的实用工具和安装脚本,可以完成应用的必要数据初始化等工作。总的来说就是在正式的容器启动之前做一些准备工作的。 例如一个应用容器挂载的volume目录需要一些必不可少的初始化文件,不加init容器
阅读全文

浙公网安备 33010602011771号