[kubernetes]-k8s调整镜像清理策略

这篇具有很好参考价值的文章主要介绍了[kubernetes]-k8s调整镜像清理策略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导语:k8s在磁盘使用率到达80%之后开始清理镜像,导致服务重启后镜像被删除。记录一下大致调整的方法文章来源地址https://www.toymoban.com/news/detail-740312.html

# kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 100.100.100.100
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  imagePullPolicy: IfNotPresent
  name: ubuntu
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: harbor.deepwise.com/terra-k8s
kind: ClusterConfiguration
kubernetesVersion: 1.22.15
networking:
    dnsDomain: cluster.local
    podSubnet: 10.244.0.0/16
    serviceSubnet: 100.64.0.0/16
scheduler: {}
---
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false
  webhook:
    cacheTTL: 0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s
cgroupDriver: systemd
clusterDNS:
- 100.64.0.10
clusterDomain: cluster.local
cpuManagerReconcilePeriod: 0s
evictionPressureTransitionPeriod: 0s
fileCheckFrequency: 0s
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kind: KubeletConfiguration
logging: {}
failSwapOn: false
featureGates: # 启用 featureGates
  NodeSwap: true # 启用 NodeSwap flag,默认为false
memorySwap:
  swapBehavior: UnlimitedSwap # swap 支持 可选:LimitedSwap(默认)/UnlimitedSwap
nodeStatusReportFrequency: 0s
nodeStatusUpdateFrequency: 0s
rotateCertificates: true
runtimeRequestTimeout: 0s
shutdownGracePeriod: 0s
shutdownGracePeriodCriticalPods: 0s
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s
evictionHard:
  nodefs.available: "1Gi"
  imagefs.available: "1Gi"
imageGCHighThresholdPercent: 100
imageGCLowThresholdPercent: 99
# /lib/systemd/system/kubelet.service
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=https://kubernetes.io/docs/home/
Wants=network-online.target
After=network-online.target

[Service]
Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false --system-reserved=cpu=200m,memory=500Mi --kube-reserved=cpu=500m,memory=1Gi --eviction-hard=nodefs.available<1Gi,imagefs.available<1Gi"
ExecStart=/usr/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10

[Install]
WantedBy=multi-user.target
#/var/lib/kubelet/config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false
  webhook:
    cacheTTL: 0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s
cgroupDriver: systemd
clusterDNS:
- 100.64.0.10
clusterDomain: cluster.local
cpuManagerReconcilePeriod: 0s
evictionPressureTransitionPeriod: 0s
failSwapOn: false
featureGates:
  NodeSwap: true
fileCheckFrequency: 0s
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kind: KubeletConfiguration
logging: {}
memorySwap:
  swapBehavior: UnlimitedSwap
nodeStatusReportFrequency: 0s
nodeStatusUpdateFrequency: 0s
rotateCertificates: true
runtimeRequestTimeout: 0s
shutdownGracePeriod: 0s
shutdownGracePeriodCriticalPods: 0s
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s
evictionHard:
  memory.available: "500Mi"
  nodefs.available: "1Gi"
  imagefs.available: "100Gi"
imageGCHighThresholdPercent: 100
imageGCLowThresholdPercent: 99
#configmap 也需要检查
apiVersion: v1
data:
  kubelet: |
    apiVersion: kubelet.config.k8s.io/v1beta1
    authentication:
      anonymous:
        enabled: false
      webhook:
        cacheTTL: 0s
        enabled: true
      x509:
        clientCAFile: /etc/kubernetes/pki/ca.crt
    authorization:
      mode: Webhook
      webhook:
        cacheAuthorizedTTL: 0s
        cacheUnauthorizedTTL: 0s
    cgroupDriver: systemd
    clusterDNS:
    - 100.64.0.10
    clusterDomain: cluster.local
    cpuManagerReconcilePeriod: 0s
    evictionPressureTransitionPeriod: 0s
    failSwapOn: false
    featureGates:
      NodeSwap: true
    fileCheckFrequency: 0s
    healthzBindAddress: 127.0.0.1
    healthzPort: 10248
    httpCheckFrequency: 0s
    imageMinimumGCAge: 0s
    kind: KubeletConfiguration
    logging: {}
    memorySwap:
      swapBehavior: UnlimitedSwap
    nodeStatusReportFrequency: 0s
    nodeStatusUpdateFrequency: 0s
    imageGCHighThresholdPercent: 100
    imageGCLowThresholdPercent: 99
    rotateCertificates: true
    runtimeRequestTimeout: 0s
    shutdownGracePeriod: 0s
    shutdownGracePeriodCriticalPods: 0s
    staticPodPath: /etc/kubernetes/manifests
    streamingConnectionIdleTimeout: 0s
    syncFrequency: 0s
    volumeStatsAggPeriod: 0s
    evictionHard:
      nodefs.available: "1Gi"
      imagefs.available: "1Gi"
kind: ConfigMap
metadata:
  creationTimestamp: "2022-12-26T10:54:00Z"
  name: kubelet-config-1.22
  namespace: kube-system
  resourceVersion: "8154566"
  uid: 46a4fb83-9673-49a9-a075-bbbeb29e5f8d
systemctl daemon-reload
systemctl restart kubelet

到了这里,关于[kubernetes]-k8s调整镜像清理策略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

    一、docker的问世         在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。 虚拟机是什么?         虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

    2024年03月26日
    浏览(66)
  • 容器技术,1. Docker,2. Kubernetes(K8s):

    目录 容器技术 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要应用场景有哪些? 有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 容器技术指通过在物理主机操作系统上创建一个一个

    2024年02月11日
    浏览(66)
  • Docker、Kubernetes(K8s)和KVM辨析

    Docker、Kubernetes(K8s)和KVM都是虚拟化技术,但它们各自的应用场景和功能有所不同。 Docker是一种轻量级的虚拟化技术,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后在任何运行Docker的服务器上部署。与传统的虚拟机相比,Docker容器提供了一种轻量级

    2024年02月21日
    浏览(61)
  • 基于Docker的K8s(Kubernetes)集群部署

    开始搭建k8s集群 三台服务器修改主机名称 关闭对话窗口,重新连接 三台主机名称呢就修改成功了。 接下来修改每台节点的 hosts 文件 所有节点关闭 setLinux 查看是否关闭成功 为每个节点添加 k8s 数据源 如果安装docker数据源找不到yum-config 所有节点安装kubelet kubelet安装中… k

    2024年02月08日
    浏览(97)
  • k8s删除pod镜像没响应marking for deletion pod TaintManagerEviction

    1、将master的admin.conf 文件拷贝到 node节点 2、配置环境变量 3、测试 Pod的状态为\\\"Marking for deletion\\\"表示该Pod正在被标记为待删除状态,但实际上并没有被删除。这可能是因为以下原因之一: 删除操作被阻塞:可能是由于某些资源或容器正在使用该Pod,导致删除操作被阻塞。您可

    2024年02月11日
    浏览(47)
  • Kind | Kubernetes in Docker 把k8s装进docker!

    有点像杰克船长的黑珍珠 目录 零、说明 一、安装 安装 Docker 安装 kubectl 安装 kind 二、创建/切换/删除集群 创建 切换 删除 将镜像加载到 kind 群集中 官网:kind Kind: Kubernetes in Docker 的简称。kind 是一个使用 Docker 容器“节点”运行本地 Kubernetes 集群的工具。kind 主要设计用于

    2024年02月16日
    浏览(35)
  • 【k8s】kubernets和docker之间版本的对应关系

    如果查看1.18版本k8s对应的docker支持的最新版本 https://github.com/kubernetes/kubernetes/blob/release-1.18/build/dependencies.yaml 查看最新版本k8s对应的docker支持的最新版本 https://github.com/kubernetes/kubernetes/blob/master/build/dependencies.yaml

    2024年02月11日
    浏览(44)
  • K8S Containerd导入Docker image镜像

    Kubernetes在v1.20 版本宣布弃用 Dockershim (在v1.24正式移除),改用CRI接口去操作更为基础的containerd或CRI-O。 K8S在创建容器时,或多或少有些镜像无法正常拉取(网络等原因)。 还在使用 Docker Engine 时我们能方便的pull第三方同步的镜像,然后tag成需要的标签版本,让K8S从本地获

    2024年02月11日
    浏览(42)
  • Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

             以两数相加求和为例,在kubernetes集群 拉取本地的镜像 ,实现如下效果:         1.实现两数相加求和         2.可以通过curl 实时调用 , 参数 以GET方式提供,并得到结果。(类似 调用函数 )         需要准备如下的文件。文件名与对应的功能如下所示

    2024年01月20日
    浏览(40)
  • kubernetes(k8s)大白学习02:容器和docker基础、使用、架构学习

    简单说:容器(container)就是计算机上的一个沙盒进程,它与计算机上的所有其它进程相隔离。 这种隔离是怎么做到的呢?它利用了内核提供的 namespace 和 cgroup 这 2 种技术。这些技术能力在 Linux 中已经存在了很长时间。而 Docker 或容器技术致力于将这些功能更易于使用和更

    2024年02月07日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包