VPA和CA
VPAKubernetes VPA(Vertical Pod Autoscaler)可以理解为对单个服务资源进行扩容,如CPU、内存之类。它一般应用于一些中心化的单体应用,且无法对其进行部 署多份副本的场景,如 Prometheus 或 Jenkins 这类垂直 Pod 应用自动扩缩容。 VPA 会基于 Pod 的 资源使用情况自动为集群设置资源占用的限制,从而让集群将 Pod 调度到有足够资源的最佳节点上。VPA 也会保持最初容器定义中资源 request 和 limit...
几种修改docker默认存储位置的方法
转自:https://blog.csdn.net/BigData_Mining/article/details/104921479 需求 docker容器存放目录磁盘空间满了,需要转移数据,修改Docker默认存储位置 解决方法方法1:迁移到新目录 停止docker服务。 1systemctl stop docker; //每个liunx版本的命令不一样。 创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有900G。 我在 /home目录下面建了/home/work/docker_root目录,执行的命令是: 1mkdir -p /home/work/docker_root 迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面 1cp -R /var/lib/docker/*...
低版本Docker升级高版本Docker
摘自:https://blog.csdn.net/weixin_46152207/article/details/127533584 在升级前确定几个重点:原配置文件备份一下123456789101112131415161718192021222324252627282930313233343536373839404142[root@localhost ~]# cat /usr/lib/systemd/system/docker.service [Unit]Description=Docker Application Container...
标签,污点&容忍以及驱逐维护
污点与容忍 亲和性/反亲和性无论是硬策略还是软策略方式,都是调度 pod 到预期节点上,而Taints恰好与之相反,如果一个节点标记为 Taints ,除非 pod 也被标识为可以容忍污点节点,否则该 Taints 节点不会被调度 pod。 污点:taints 容忍:tolerations 污点策略污点策略有以下选项: NoSchedule:表示 pod 不会被调度到标记为 taints 的节点 PreferNoSchedule:NoSchedule 的软策略版本,表示尽量不调度到污点节点上去 NoExecute:该选项意味着一旦 Taint 生效,如该节点内正在运行的 pod 没有对应 Tolerate 设置,会直接被逐出 污点 taint 标记节点的命令如下: 12$ kubectl taint nodes node02 test=node02:NoSchedulenode "node02" tainted 容忍上面的命名将 node02 节点标记为了污点,影响策略是 NoSchedule,只会影响新的 pod...
Pod/Node亲和性和反亲和性部署
参考:https://cloud.tencent.com/developer/article/1746649 Kubernetes K8S之Node节点亲和性与反亲和性以及Pod亲和性与反亲和性详解与示例...
k3s介绍
之所以叫做 K3S 是因为希望安装的 K8S 在内存占用方面只是一半的大小,而一半大的东西就是一个 5 个字母的单词,简写为 K3S。 k3s 特点 k3s 是由 Rancher Lab 开源的轻量级 Kubernetes。k3d 完美继承了 k3s 的简单、快速和占用资源少的优势,镜像大小只有 100 多 M,启动速度快,支持多节点集群。虽然 k3s 对 Kubernetes 进行了轻量化的裁剪,但是提供了完整了功能,像 Istio 这样复杂的云原生应用都可以在 k3s 上顺利运行。 因为 k3s 本身应用场景主要在边缘侧,所以支持的设备和架构很多,如:ARM64 和 ARMv7 处理器。很多老旧 PC 和树莓派这样的设备都可以拿来做成 k3s 集群,为本地研发测试燃尽最后的生命。 k3s是打包为单个二进制文件 把 K8S 相关的组件,比如 kube-api/ kube-manager 都打包到同一个二进制文件里面,这样的话,只需要启动这个文件就可以快速的启动对应的组件。 使用基于 sqlite3 的默认存储机制 同时支持使用 etcd3、MySQL...
k3s在启动后修改配置参数
https://github.com/k3s-io/k3s/discussions/5434#discussioncomment-2568382 例如修改端口和单节点最大pod数量(apiserver参数配置在master)master vim /etc/systemd/system/k3s.service 如果是使用etcd作为存储, 配置文件在/etc/systemd/system/multi-user.target.wants/k3s.service 1234ExecStart=/usr/local/bin/k3s \ server \ '--kubelet-arg=max-pods=300' \ '--kube-apiserver-arg=service-node-port-range=30000-40000' systemctl daemon-reload systemctl restart k3s node vim...
记录k3s的升级过程(v1.21.7+k3s1 -> v1.24.3+k3s1)
参考官网链接: https://docs.rancher.cn/docs/k3s/upgrades/_index/ 注:如果要对server/master节点升级,绝对不要在流量高峰场景下进行 如果不希望清理所有容器及网络组件,不要轻易使用k3s-killall.sh脚本 官方文档描述升级过程为高可用模式,但最好还是在流量低峰期进行升级 否则可能会导致部署单元多个pod都部署在同一节点, 然后进行了pod转移, 如下 k8s在1.22版本新增了安全sysctlc参数net.ipv4.ip_unprivileged_port_start, 且需要将内核版本升级至4.4以上: https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/#enabling-unsafe-sysctls 我的sysctl配置 1234567891011121314151617181920# 将桥接的IPV4流量传递到iptables的链, Disable the swap...cat >...
DNS最佳实践及问题排查
转自: https://help.aliyun.com/document_detail/172339.html#11 DNS最佳实践优化域名解析请求DNS域名解析请求是Kubernetes最高频的网络行为之一,其中很多请求是可以优化和避免的。您可以通过以下方式优化域名解析请求: (推荐)使用连接池:当一个容器应用需要频繁请求另一服务时,推荐使用连接池。连接池可以将请求上游服务的链接缓存在内存中,避免每次访问时域名解析和TCP建连的开销。 使用DNS缓存: (推荐)当您的应用无法改造成通过连接池连接另一服务时,可以考虑在应用侧缓存DNS解析结果,具体操作,请参见使用节点DNS缓存NodeLocal DNSCache。 如果NodeLocal DNSCache无法适用的,可以在容器内置NSCD(Name Service Cache...