flannel使用host-gw模式

Flannel 的 host-gw 模式,它的工作原理非常简单,为了方便叙述,我用这张图为“host-gw 示意图”: Node 1 上的 Infra-container-1,要访问 Node 2 上的 Infra-container-2。 当你设置 Flannel 使用 host-gw 模式之后,flanneld 会在宿主机上创建这样一条route路由规则。 以 Node 1 为例: # ip

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

flannel简介

我们在部署 Kubernetes 的时候,有一个步骤是安装 kubernetes-cni 包,它的目的就是在宿主机上安装CNI 插件所需的基础可执行文件。 在安装完成后,你可以在宿主机的 /opt/cni/bin 目录下看到它们,如下所示: # cd /opt/cni/bin/ # ll 总用量 56484 -

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-v2.0.3.tgz 2.安装docker和docker-compose docker: yum -y install yum-utils device-mapper-persistent-data lvm2 yum-config-

fluentd收集k8s日志

Fluentd介绍 Fluentd是一个是一个开源的日志收集和传输工具,旨在解决日志数据的收集、传输和处理问题,它可以收集来自于各种系统或应用的日志,转化为用户指定的格式后,转发到用户所指定的日志存储系统之中。 Fluentd特点 使用JSON进行统一日志记录:Fluentd尝试尽可能地将数据结构化为JSON:这允许Fluentd 统一处理日志数据的所有方面:收集,过滤,缓冲和跨多个源和目标(统一

k8s版本变化

v1.29 Service的负载均衡IP模式(Alpha) 在Kubernetes1.29版本,Service的负载均衡IP模式以Alpha版本正式发布。其在Service的status中新增字段ipMode,用于配置集群内Service到Pod的流量转发模式。当设置为VIP时,目的地址为负载均衡IP和端口的流量将由kube-proxy重定向到目标节点,当设置为Proxy时,流量将被发送到负载均衡

kubeadm-join

###注意--print-join-command,可以直接打印出kubeadm join信息 # kubeadm token create --print-join-command   # join加入 # kubeadm reset # systemctl stop ku

HPA

HorizontalPodAutoscaler 先决条件 必须安装 metrics-server 必须定义 Request参数   v1 apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: hpa_name spec: maxReplicas: 5 minReplicas: 2 scaleTar

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

Affinity

Affinity亲和力   NodeAffinity:节点亲和力 PreferredDuringSchedulingIgnoredDuringExecution:软亲和力,尽量部署在满足条件的节点上,或者是尽量不要部署在被匹配的节点。 apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy-with-node-a

kubectl使用技巧

kubectl技巧 资源类型 下表列出的是 kubernetes 中所有支持的类型和缩写的别名。 资源类型 缩写别名 clusters componentstatuses cs configmaps cm daemonsets ds deployments deploy endpoints ep event ev horizontalpodautoscalers hpa ingresses ing

k8s简介

Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务