摘要:通过自签名证书的方式生成证书流程 1. 生成自签名根证书 # 创建根证书私钥root.key openssl genrsa -out root.key 1024 # 创建根证书请求文件root.csr openssl req -new -out root.csr -key root.key # 创建
阅读全文
摘要:UDP(flanneld封装和解封装UDP) 实现原理 缺点(性能最差) UDP模式,封装和解封装的对象是三层IP包,提供三层的Overlay网络,是Flannel最早支持的一种方式,也是性能最差的一种方式,已经被弃用。在发出IP包的过程中需要经过3次用户态与内核态之间的数据拷贝。 第1次,用户态的
阅读全文
摘要:k8s release-1.15 1. 客户端请求删除Pod。2. kube-apiserver修改Pod信息,设置DeletionTimestamp和DeletionGracePeriodSeconds(优雅等待退出时间,默认30s)。 staging/src/k8s.io/apiserver/p
阅读全文
摘要:创建Deployment nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: progressDeadlineSeconds: 600 replicas:
阅读全文
摘要:kubelet启动时会尝试向kube-apiserver注册节点,启动顺序上优先于kube-proxy,所以kubelet访问kube-apiserver时不依赖于kube-proxy,需要通过额外组件来完成转发,例如keepalive浮动vip+haproxy。 在k8s v1.13之前,kube
阅读全文
摘要:场景一:停止kubelet并恢复 操作和现象 操作 节点上运行Pod后把kubelet进程停掉。 现象 node状态变为NotReady,不同类型的Pod情况不同。 Deployment Pod在5分钟之后开始一直处于Terminating,创建新Pod。 StatefulSet Pod在5分钟之后
阅读全文
摘要:k8s 1.15 pkg/kubelet/kuberuntime/kuberuntime_container.gogetKubeletContainers方法获取kubelet管理的所有业务容器(true表示包括退出的和死亡的容器,用于GC)补充代码 kubelet日志 容器情况 启动一个基于Ngi
阅读全文
摘要:获取静态Pod路径 静态Pod路径默认是空。 当静态Pod路径是空时,路径会被设置成/etc/kubernetes/manifests。 检测周期 /var/lib/kubelet/config.yaml配置了FileCheckFrequency值是20s即List的间隔周期是20s。 List和W
阅读全文
摘要:证书握手时会验证客户端访问域名或者ip是否满足SAN。具体来说,grpc是tlsConfig中的server_name,https是TlsClientConfig中的ServerName。 curl --connect-to 'www.baidu.com:443:180.101.49.44:443'
阅读全文
摘要:CentOS 7.6系统配置 node1节点操作脚本,node2节点修改主机名名字,其他相同所有节点执行以下脚本 # 修改主机名 echo "node1" > /etc/hostname hostnamectl set-hostname node1 # 安装nslookup和ifconfig # n
阅读全文