随笔分类 - docker-kubernetes
docker . kubernetes
摘要:nginx-ingress中解决跨域问题: 在annotations:加入如下配置 nginx.ingress.kubernetes.io/configuration-snippet: > more_set_headers "Access-Control-Allow-Origin: https://
阅读全文
摘要:前言: 在 Kubernetes 中,Pod 停止时 kubelet 会先给容器中的主进程发 SIGTERM 信号来通知进程进行 shutdown 以实现优雅停止,如果超时进程还未完全停止则会使用 SIGKILL 来强行终止。 容器终止流程: 1、Pod 被删除,状态置为 Terminating。
阅读全文
摘要:1、使用自签名证书 问题: 使用kubectl时 x509: certificate signed by unknown authority 解决: kubectl config set-cluster 集群名称 --insecure-skip-tls-verify=true
阅读全文
摘要:1、准备bpf环境 #!/bin/bash a=`docker run --privileged --pid=host alpine pidof kubelet` docker run --privileged --pid=host alpine nsenter -t$a -m -- mount b
阅读全文
摘要:一、概述 1、etcd的v2和v3的认证有些不同,需要分别设置2、Etcd通过用户(user)-角色(role)-权限的方式来控制访问,用户关联角色,角色拥有权限,从而用户也就拥有了相应的权限3、Etcd开启Basic Auth之后,默认会启用两个角色root和guest,root角色拥有所有权限,
阅读全文
摘要:1、在1.7版本后使用HostAliases修改pod的hosts文件。该文件由kubelet管理 在deployment的yaml文件中添加在pod template 的spec里面即可: nameservers:是自己的内网dns 禁止访问外网,走hostaliases。
阅读全文
摘要:1、 net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-arptables = 1net.bridge.bridge-nf-call-ip6tables = 1net.netfilter.nf_conntrack_max
阅读全文
摘要:1、准备consul环境,参考我之前的博客实现或参考consul的官网部署最新的consul。 2、本次测试使用的是kubernetes-1.15.0 3、初始化集群 1)准备初始化文件 controlPlaneEndpoint: "kubeadm-ha.service.hq:6443" ,kube
阅读全文
摘要:一、kubernetes exposed servcie 暴露服务的几种方式: LoadBalancer NodePort Ingress HostNetwork HostPort LoadBalancer只能配置在serveice,需要云运营商提供支持。HostPort应用不是很多,特殊情况下可能
阅读全文
摘要:1、问题描述 最近查看kubernetes 的events,发现了有两个节点经常出现下面的信息: 这个是kubelet打出来的,字面意思很好理解,就是nameserver 超出限制,超出的将被忽略。那限制是多少呢?so带着这个疑问就去github kubernetes源码一探究竟。 首先确定知道这个
阅读全文
摘要:一、概述 kubernetes 的eviction检测diskpresure,检测的是kubelet的root-dir。kubelet的默认root-dir是/var/lib/kubelet,可以使用参数--root-dir进行修改,源码: kubernetes/cmd/kubelet/app/op
阅读全文
摘要:一、概述 新版本的kubernetes默认使用了coredns,这里就不赘述了。直达车:https://coredns.io/、https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns 二、
阅读全文
摘要:一、关于kong的详细内容这里不再赘述,可以查看官网。 kong升级到1.0以后功能越来越完善,并切新版本的kong可以作为service-mesh使用,并可以将其作为kubernetes的ingress-controlor。虽然在作为service-mesh方面与istio还有差异,但是kong的
阅读全文
摘要:一、概述 关于kubernetes使用私有docker image registry的一些说明: 1、对于自己构建的项目镜像或一些不想暴露到外网的image需要使用自建的私有仓库,一般有两种选择:docker registry v2、harbor 2、镜像仓都是做安全认证的,kubernetes在使
阅读全文
摘要:一、概述 测试环境已经跑了很长时间的istio了,也更新到了最新的istio-1.1。性能相较之前提升很大,官方给出的测试数据说是延迟降低到了8ms,但是实际测试确实访问速度有很大的提升,但是确实还是比直接访问pod速度差异很明显,sidecar的引入使数据流向变得层数更多,导致访问性能上的一些损耗
阅读全文
摘要:一、概述 线上部署的k8s已经扛过了双11的洗礼,期间先是通过对网络和监控的优化顺利度过了双11并且表现良好。先简单介绍一下我们kubernetes的使用方式: 物理机系统:Ubuntu-16.04(kernel 升级到4.17) kuberneets-version:1.13.2 网络组件:cal
阅读全文
摘要:一、概述 前面我们部署calico由于集群规模不是很大,使用的是calico的bgp模式的node-to-node-mesh全节点互联,这种模式在小规模集群里面还可以用,3.4.0版本的calico支持到100多个节点。 但是随着集群规模的扩大,bgp的mesh会变得很混乱,因为node-to-no
阅读全文
摘要:一、概述 k8s暴露服务的方式有很多使用ingress、nodeport等,这类比较适用于无状态的服务,对于statefulset部署的有状态的服务,(关于statefulset的介绍参考kubernetes的官网或参考我的https://www.cnblogs.com/cuishuai/p/102
阅读全文
摘要:一、概述 kubernetes使用etcd作为数据中心,使用kubeadm部署kubernetes的时候默认会自己部署一个etcd,当然也可以将kubeadm部署的单点的etcd做成集群,但是比较麻烦,所以我们使用的是自建 的etcd集群即external etcd cluster。在使用kubea
阅读全文
摘要:一、概述 在k8s里面部署kafka、zookeeper这种有状态的服务,不能使用deployment和RC,k8s提供了一种专门用来部署这种有状态的服务的API--statefulset,有状态简单来说就是需要持久化数据,比如日志、数据库数据、服务状态等。 statefulset应用场景: 稳定的
阅读全文