iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Kubernetes的实用技巧有哪些
  • 865
分享到

Kubernetes的实用技巧有哪些

2024-04-02 19:04:59 865人浏览 泡泡鱼
摘要

本篇内容主要讲解“kubernetes的实用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes的实用技巧有哪些”吧! 一、k

本篇内容主要讲解“kubernetes的实用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes的实用技巧有哪些”吧!

 一、kubectl 命令参数自动补全

使用 Kubernetes,就一定会使用 Kubectl 命令,默认安装好 Kubectl  命令不支持自动补全参数。下面配置 Kubectl 命令参数自动补全方法:

Linux 上,比如 Centos

$ yum install -y bash-completion $ source /usr/share/bash-completion/bash_completion $ source <(kubectl completion bash) $ echo "source <(kubectl completion bash)" >> ~/.bashrc

MAC 上

$ brew install bash-completion $ source $(brew --prefix)/etc/bash_completion $ source <(kubectl completion zsh) $ echo 'source <(kubectl completion zsh)' >> ~/.zshrc

Kubectl 常用操作 [1]

1、如何查找非 running 状态的 Pod 呢?

$ kubectl get pods -A --field-selector=status.phase!=Running | grep -v Complete

2、如何查找 running 状态的 Pod 呢?

$ kubectl get pods -A --field-selector=status.phase=Running | grep -v Complete

3、获取节点列表,其中包含运行在每个节点上的 Pod 数量?

$ kubectl get po -o JSON --all-namespaces |    jq '.items | group_by(.spec.nodeName) | map({"nodeName": .[0].spec.nodeName, "count": length}) | sort_by(.count)'  [   {     "nodeName": "service1",     "count": 6   },   {     "nodeName": "service3",     "count": 13   } ]

4、使用 kubectl top 获取 Pod 列表并根据其消耗的 CPU 或 内存进行排序

# 获取 cpu $ kubectl top pods -A | sort --reverse --key 3 --numeric  # 获取 memory $ kubectl top pods -A | sort --reverse --key 4 --numeric

二、添加Namespace默认CPU和内存限制

有时候 Pod 没有做资源限制,会因为个别 Pod  使用量超出,影响整个宿主机应用。下面给出一个具体例子,可以根据实际情况来调整相关参数。

apiVersion: "v1" kind: "LimitRange" metadata:   name: "resource-limits"   namespace: default spec:   limits:     - type: "Pod"       max:         cpu: "4"         memory: "4Gi"       min:         cpu: "100m"         memory: "100Mi"     - type: "Container"       max:         cpu: "4"         memory: "4Gi"       min:         cpu: "100m"         memory: "100Mi"       default:         cpu: "500m"         memory: "500Mi"       defaultRequest:         cpu: "100m"         memory: "100Mi"       maxLimitRequestRatio:         cpu: "60"

三、利用 Kubelet 给 Node 预留资源

evictionHard:   imagefs.available: 15%   memory.available: 1G   nodefs.available: 10%   nodefs.inodesFree: 5%

四、利用 Kubernetes RBAC  划分好权限

多个团队部署应用到一个kubernetes集群时,情况就可能变得很复杂。切记不要把管理员权限开放给每个人。个人建议是,根据命名空间来区分隔离每个团队,然后使用RBAC策略只允许各自团队访问各自的命名空间。

如果我们把管理员权限开放给每个人,那么在pod级上进行读取、创建和删除访问时,可能让人抓狂,因为误操作的情况会经常发生。为此,应该只允许管理员有权访问,从而将管理集群和部署集群的人员权限区分开。

五、充分利用 PodDisruptionBudget 控制器

如何保证在 kubernetes 集群中的应用程序总能正常运行?

答案:是使用 PodDisruptionBudget 控制器。

在进行 kubectl drain 操作时,kubernetes 会根据 PodDisruptionBudget  控制器判断应用Pod集群数量,进而保证在业务不中断或业务SLA不降级的情况下进行应用Pod销毁。PDB(PodDisruptionBudget)应该放在每个拥有一个以上实例的deployment上。我们可以使用简单yaml为集群创建PDB,并使用标签选择器确定PDB应该作用在哪些带有标签的资源上。

  • 注意:PDB只考虑主动中断,硬件故障之类的情况不在PDB考虑范围内。

例子:

apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata:   name: zk-pdb spec:   minAvailable: 2   selector:     matchLabels:       app: ZooKeeper

六、使用探针来检测应用的状态

Kubernetes 支持配置探针。kubelet 使用探针来确定Pod中应用程序是否健康。k8s  提供了两种类型来实现这一功能,Readiness 探针和 Liveiness 探针。

  • Readiness:探针用于确定容器何时准备好接收流量。

  • Liveiness:探针用于确定容器是否健康,如果不健康根据策略判断是否重新部署一个新的容器来替换。

例子:

readinessProbe:   tcpSocket:     port: 8080   initialDelaySeconds: 5   periodSeconds: 10 livenessProbe:   tcpSocket:     port: 8080   initialDelaySeconds: 15   periodSeconds: 20

到此,相信大家对“Kubernetes的实用技巧有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Kubernetes的实用技巧有哪些

本文链接: https://www.lsjlt.com/news/84165.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Kubernetes的实用技巧有哪些
    本篇内容主要讲解“Kubernetes的实用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes的实用技巧有哪些”吧! 一、k...
    99+
    2024-04-02
  • kubernetes使用技巧有哪些
    这篇文章主要介绍了kubernetes使用技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:在容器中获取 Pod 的IPapiVersion: v1kind: Re...
    99+
    2023-06-04
  • Kubernetes Ingress控制器的技术选型技巧有哪些
    小编给大家分享一下Kubernetes Ingress控制器的技术选型技巧有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!名词解释阅读本文需要熟悉以下基本概念:集群:是指容器运行所需云资源的集合,包含了若干台云服务器、...
    99+
    2023-06-04
  • 实用的JavaScript技巧有哪些
    本篇内容主要讲解“实用的JavaScript技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“实用的JavaScript技巧有哪些”吧!1 &nd...
    99+
    2024-04-02
  • Python实用的技巧有哪些
    这篇文章主要讲解了“Python实用的技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用的技巧有哪些”吧!1. 列表推导式有人或许以前听说过这些。Python中的一种编...
    99+
    2023-06-16
  • 有哪些实用的Python技巧
    这篇文章主要讲解了“有哪些实用的Python技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些实用的Python技巧”吧!1. 重复元素判定以下方法可以检查给定列表是不是存在重复元素,...
    99+
    2023-06-16
  • Pureftpd的实用技巧有哪些
    这篇文章将为大家详细讲解有关Pureftpd的实用技巧有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Pureftpd是一款FTP程序软件,今天我给大家讲几个实用的技巧!PureFTPD...
    99+
    2023-06-16
  • nlp的实用技巧有哪些
    NLP(Natural Language Processing,自然语言处理)是一项研究人类语言与计算机之间交互的领域,其中有许多实...
    99+
    2023-09-21
    nlp
  • ASP.NET的实用技巧有哪些
    这篇文章主要讲解了“ASP.NET的实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET的实用技巧有哪些”吧!1.跟踪页面执行设置断点是页面调试过程中的常用手段,除此之...
    99+
    2023-06-17
  • 实用的Python技巧有哪些
    这篇文章主要介绍“实用的Python技巧有哪些”,在日常操作中,相信很多人在实用的Python技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”实用的Python技巧有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-02
  • 实用的CSS技巧有哪些
    这篇文章主要讲解了“实用的CSS技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“实用的CSS技巧有哪些”吧!1. 黑白图像这段代码会让你的彩色照片显...
    99+
    2024-04-02
  • Python的实用技巧有哪些
    本篇内容介绍了“Python的实用技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ALL OR ANYPython之所以成为这么一门...
    99+
    2023-06-02
  • Linux的实用技巧有哪些
    这篇文章主要讲解了“Linux的实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux的实用技巧有哪些”吧!处理特殊的文件名假设Linux系统中有一个文件名叫“-ee”,如果...
    99+
    2023-06-17
  • Git有哪些实用技巧
    本篇内容主要讲解“Git有哪些实用技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Git有哪些实用技巧”吧!将几个commit压缩成一个⚠️ 这里有一点要特别...
    99+
    2024-04-02
  • vue有哪些实用技巧
    本篇内容主要讲解“vue有哪些实用技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue有哪些实用技巧”吧!监听组件的生命周期比如有父组件 Parent 和子...
    99+
    2024-04-02
  • PyCharm实用技巧有哪些
    这期内容当中小编将会给大家带来有关PyCharm实用技巧有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。今天主要跟大家介绍PyCharm的高效使用技巧!以下代码演示是在 Mac 环境下,Windows...
    99+
    2023-06-16
  • Python实用技巧有哪些
    这篇文章主要讲解了“Python实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用技巧有哪些”吧!整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,...
    99+
    2023-06-16
  • javascript实用技巧有哪些
    本篇内容介绍了“javascript实用技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、js整数的操作使用|0和~~可以将浮点转...
    99+
    2023-06-25
  • NPM实用技巧有哪些
    今天小编给大家分享一下NPM实用技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1...
    99+
    2024-04-02
  • PowerBuilder实用技巧有哪些
    以下是一些PowerBuilder实用技巧: 使用DataWindow对象的自动过滤功能来简化数据过滤和排序操作。可以通过设置F...
    99+
    2023-10-24
    PowerBuilder
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作