flannel使用vxlan-Directrouting模式
flannel使用vxlan-Directrouting模式: 为了提升性能,Flannel的VXLAN后端还支持DirectRouting模式,即在集群中的各节点上添加必要的路由信息,让Pod间的IP报文通过节点的二层网络直接传送。仅在通信双方的Pod对象所在的节点跨IP网络时,则使用VXLAN隧道方式转发通信流量。 如果Node节点全部位于单个二层网络中,则DirectRouting模式下的P
flannel使用host-gw模式
Flannel 的 host-gw 模式要求所有节点(Node)必须位于同一个二层网络(L2 网络) 中,这是由其核心工作原理决定的。理解这个限制需要深入分析 host-gw 的工作机制: host-gw 的核心工作原理 路由即网关: Flannel 在每个节点上为其他节点的 Pod 网段创建主机路由(Host Route)。 这条路由告诉本机的 Linux 内核:“要访问目标 Pod 网段(如
flannel使用vxlan模式
VXLAN,即 Virtual Extensible LAN(虚拟可扩展局域网),是 Linux 内核本身就支持的一种网络虚似化技术。所以说,VXLAN 可以完全在内核态实现上述封装和解封装的工作,从而通过与前面相似的“隧道”机制,构建出覆盖网络(Overlay Network)。 VXLAN 的覆盖网络的设计思想是:在现有的三层网络之上,“覆盖”一层虚拟的、由内核 VXLAN 模块负责维护的二层
Linux清理buff/cache
当服务器内存不够使用时,通过命令free -h,查看服务器内存使用情况,发现buff/cache占用了大量内存。 可以执行以下操作: sync;echo 1 > /proc/sys/vm/drop_caches # 表示清除pagecache。 sync;echo 2 > /proc/sys/vm/drop_caches # 表示清除回收slab分配器中的对象(包括目录项缓存和inod
node节点的pod数量限制
默认为110个,可以修改配置文件。 vim /var/lib/kubelet/config.yaml maxPods: 200 #停止kubelet systemctl stop kubelet #重新载入systemd systemctl daemon-reload #启动kubelet systemctl start kubelet
NodePort的端口范围(修改)
NodePort的端口范围 默认范围为30000-32767,可以修改 vim /etc/kubernetes/manifests/kube-apiserver.yaml 添加一行 - --service-node-port-range=1-65535 kubelet监控/etc/kubernetes/manifests/* ,会自动触发更新。
harbor安装配置
1.下载 wget https://cncf.oss-cn-hangzhou.aliyuncs.com/harbor/harbor-offline-installer-v1.10.19.tgz 2.安装docker和docker-compose docker: cd /etc/yum.repos.d/ wget http://mirrors.aliyun.com/docker-ce/linux/c
fluentd收集k8s日志
在Kubernetes (k8s) 环境中使用 Fluentd 收集日志是一种常见做法,可以帮助你集中管理和分析集群中的日志。 1. 安装 Fluentd 首先,确保你的 Kubernetes 集群中安装了 Fluentd。你可以通过 Helm、DaemonSet 或者直接在 Pod 中部署 Fluentd。 官方文档: https://docs.fluentd.org/container-dep
kubeadm-join
###注意--print-join-command,可以直接打印出kubeadm join信息 # kubeadm token create --print-join-command # join加入 # kubeadm reset # systemctl stop ku
coredns自定义的解析记录
找到kube-system命名空间的名称为coredns的configmap: kubectl get configmap coredns -n kube-system NAME DATA AGE coredns 1 9d 编辑这个configmap: kubectl edit configmap coredns -n kube-system apiVersion: v1 data: Corefi
comfigmap热更新
如果ConfigMap和Secret是以subPath的形式挂载的,那么Pod是不会感知到ConfigMap和Secret的更新的。 如果Pod的变量来自于ConfigMap和Secret中定义的内容,那么ConfigMap和Secret更新后,也不会更新Pod中的变量。 postStart:容器启动之前执行的命令 preStop:容器停止之前执行的命令 热更新ConfigMap或Secret:
configmap解决subPath目录覆盖的问题
apiVersion: apps/v1 kind: Deployment metadata: labels: app: demo-nginx name: demo-nginx spec: replicas: 2 selector: matchLabels: app: demo-nginx template: metadata: labels: app: demo-nginx spec: conta
configmap创建
1.利用直接值创建 kubectl create configmap configmap_name --from-literal=key-name=value 2.基于文件创建 kubectl create configmap configmap_name --from-file=file_name 3.基于目录创建 kubectl create configmap configmap_name
kubectl使用技巧
kubectl技巧 资源类型 下表列出的是 kubernetes 中所有支持的类型和缩写的别名。 资源类型 缩写别名 clusters componentstatuses cs configmaps cm daemonsets ds deployments deploy endpoints ep event ev horizontalpodautoscalers hpa ingresses ing