Debian 爱好者社区 为您找到相关结果 24

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

前段时间,笔者参加了 UCloud 在京举办的 TIC 2019 大会,适逢 UCloud 实验室负责人叶理灯的演讲结束,就容器计算方面和他进行了短暂沟通。叶理灯是国内在云计算方面有深入研究和实践的资深专家,我觉得他的一些观点和看法值得分享给大家了解。 UCloud 实验室负责人 叶理灯 叶理灯现负责 UCloud 创新产品研发,专注面向企业的云计算产品的研发及运营。叶理灯拥有 10 年以上丰富的互联网研发经验,先后任职于腾讯、盛大云等互联网公司,从事海量分布式后台系统研发及运营工作。 定制违背了 K8S 初衷,提供原生 K8S 产品 记者:在官方的 K8S 发行版之上,各方云厂商提供 K8S 服务时都有一些自己的定制和调整,今天大会上提及的 UCloud 的 K8S 发行版 UK8S 主...阅读全文

博文 2019-06-14 08:28:49 debian.cn

译:Kubernetes 最佳实践

本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。译者:文章中作者从应用程序开发、治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经验。有误的地方,也欢迎大家指正。在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。最佳实践目录使用命名空间使用就绪和存活探针(译者注:还有启动探针)使用自动缩放使用资源请求和约...阅读全文

博文 2022-09-13 19:32:21 atbug.com

k8s 中发现很多为状态为 Evicted 的 Pod

背景 在查看k8s的环境的时候,突然发现存在n多个pod状态为Evicted。差不多得有几百个。 解决 同事愉快的丢了个链接给我,让我自己看一波:What will happen to evicted pods in kubernetes? 查看了一下pod的信息。结果发现是磁盘满了。 kubectl describe pod {pode_name} -n {namespace} 但是得手动删除Evicted状态的pod kubectl get pods --all-namespaces -o json | jq '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted...阅读全文

博文 2021-03-05 08:34:20 diablo4

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从创建到成功运行会分别处于不同的阶段,每个阶段又分为不同的状态,本文将简单介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。等待中(PodPending): 创建 Pod 的请求已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等待时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Debian 爱好者社区的QQ群列表

Debian 爱好者社区维护的 QQ 群列表如下,点击链接即可加入对应的群。 * Debian 桌面应用: 598585056 * Debian 中文用户:240493112 * Debian 新手群(两个):595052445 478080401 * Debian 系统研究群: 587850383 * Debian 容器与k8s交流: 627309286 * 服务器环境中遇到的Debian系统问题讨论:583117097 ...阅读全文

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

" MYSQL_SERVICE_PASSWORD: "123456" 参数说明: MYSQL_SERVICE_HOST:数据库地址(这里使用上面部署的 Mysql,由于部署在 K8S 里面,所以使用 Mysql Service 提供的 K8S 内部地址) MYSQL_SERVICE_PORT: 数据库端口。 MYSQL_SERVICE_DB_NAME: 指定使用的库名称。 MYSQL_SERVICE_USER: 数据库用户名。 MYSQL_SERVICE_PASSWORD: 数据库密码。 NACOS_APPLICATION_PORT:指定 Nacos 端口号。 PREFER_HOST_MODE:配置 Nacos 集群节点间服务发现使用的模式,支持 hostname、ip 两种模式。 JVM_XMS: 设置 JVM 最大堆内存大小...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这里我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式下重启Pod 大多数生产环境,使用的是 Deployment 方式部署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接收到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

指标: 完成后,运行以下命令进行清理docker-compose -f docker-demo/docker-compose.yaml down 在Kubernetes中部署Cortex以及Prometheus的依赖如架构所示,我们将Cortex部署为一组微服务。我们还需要Helm来部署依赖项(Cassandra)和其他服务(Grafana,Prometheus)。如果尚未安装Helm,则可以按照Helm文档中的快速入门指南进行操作。让我们开始吧,首先我们将部署cortex组件。kubectl apply -f k8s/ 我们还将使用Helm安装Prometheus。下面的命令将为我们完成这两项工作:创建一个名为" cluster"的外部标签,并将该标签的值设置为"one"。这将有助于分离不...阅读全文

博文 2021-10-09 17:00:22 知乎

Kubernetes源码探疑:Pod IP泄露排查及解决方法

对于云主机与云主机之间,只有轻微差异(小包场景下,pps 会有 3~5% 损耗),而且Pod网络性能各项指标(吞吐量,包量,延迟等)不会随着节点规模增大而削减。而Flannel UDP,VXLan模式和Calico IPIP的模式存在明显的性能消耗。Pod能直通公有云和物理云。对于使用公有云和物理云的用户而言,业务上K8S少了一层障碍,多了一份便利。而Flannel的host gw模式下,容器无法访问公有云和物理云主机。 而CNI的工作流程如下所示。 创建Pod网络过程: 删除Pod网络过程: Pod IP 消失问题的排查与解决 为了测试CNI插件的稳定性,测试同学在UK8S上部署了一个CronJob,每分钟运行一个Job任务,一天要运行1440个任务。该CronJob定义如下...阅读全文

nsenter 及 Linux命名空间 简介

/proc/$PID/ns目录中看到命名空间的文件描述符, root@k8s-sit:~# cd /proc/1/ns root@k8s-sit:/proc/1/ns# ls -l total 0 lrwxrwxrwx 1 root root 0 Dec 15 11:11 cgroup -> cgroup:[4026531835] lrwxrwxrwx 1 root root 0 Dec 15 11:11 ipc -> ipc:[4026531839] lrwxrwxrwx 1 root root 0 Dec 15 11:11 mnt -> mnt:[4026531840] lrwxrwxrwx 1 root root 0 Dec 15 11:11 net -> net:[4026531957...阅读全文

博文 2020-12-15 11:22:44 debian.cn

分布式运行时 Dapr 知多少

常见做法。 那如何解决侵入性的问题呢?这个问题随着容器编排技术的成熟有了新的解法。Kubernetes可以不侵入应用层,在容器层解决问题,比如K8S Service就具有服务发现、负载均衡的能力,HPA具有动态扩容的能力。随着K8S的快速发展,云原生的概念,也就越来越深入人心,那如何利用好K8S提供的基座能力,将更多的分布式能力下沉,让应用开发回归业务呢?其中Service Mesh提出的Sidecar模式,就很好的解决了微服务架构中网络通信的问题。Sidecar主要就是用来处理诸如服务发现、负载均衡、请求熔断等一系列非业务需求,应用在部署时动态插入Sidecar,服务间的通信通过Sidecar进行代理,以完成对服务间网络通信的接管。 到这里,微服务开发在Service Mesh的帮助下,已...阅读全文

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

口,可以读取以Prometheus支持的格式呈现的指标: $ curl https://IP:6443/api/v1/nodes/k8s-master01/proxy/metrics/cadvisor # HELP cadvisor_version_info A metric with a constant '1' value labeled by kernel version, OS version, docker version, cadvisor version & cadvisor revision. # TYPE cadvisor_version_info gauge cadvisor_version_info{cadvisorRevision="",cadvisorVersion...阅读全文

博文 2020-08-13 20:41:03 debian.cn

细数k8s支持的4种类型的container - 侃豺小哥

截止目前k8s1.18,k8s已经支持标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。本文我们详细介绍一下这4种容器的特性已经使用场景。 Ephemeral 容器 临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动重启,因此不适用于构建应用程序。临时容器使用与常规容器相同的 ContainerSpec 段进行描述,但许多字段是不相容且不允许的。 临时容器没有端口配置,因此像 ports,livenessProbe,readinessProbe 这样的字段是不允许的。 Pod 资源分配是不可变的,因此 resources 配置是不允许的。 有关允许字段的完整列表,请参见临时容器参考文档。 临时容器是使用...阅读全文

博文 2021-08-20 11:45:32 博客园

Calico 介绍、原理与使用-腾讯云社区

用的也比较多,所以要比flannel的方式好,而这些路由信息都是由BGP client传输。为什么叫边界网关协议呢?和 flannel host-gw 工作模式基本上一样,BGP是一个边界路由器,主要是在每个自治系统的最边界与其他自治系统的传输规则,而这些节点之间组成的BGP网络是一个全网通的网络,这个网络就称为一个BGP Peer。启动文件放在 /opt/cni/bin 目录下,/etc/cni/net.d 目录下记录子网的相关配置信息。代码语言:javascript复制$ cat /etc/cni/net.d/10-calico.conflist { "name": "k8s-pod-network", "cniVersion": "0.3.0", "plugins...阅读全文

博文 2025-02-19 15:44:39 腾讯云

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

期,并使得更多贡献者乐于投身其中并建立起更具活力的生态系统。 项目态势 CNCF方面已经建立起一个野心勃勃的项目,希望以可视化方式呈现Kubernetes项目中各项贡献的具体内容。K8s DevStats[10]则展示了各大型企业贡献者带来的成果。在本轮版本发布期间,开放问题的数量基本保持不变,但fork与项目各独立库数量则上涨了约20%。自上次发布以来,提交者数量略有上升,但整体来看基本保持稳定。Kubernetes目前拥有75000多条评论,仍然是GitHub上最受关注的项目之一。 原文参考这里。相关链接: https://kubernetes.io/docs/reference/workloads-18-19/ https://github.com/kubernetes...阅读全文

博文 2017-12-17 01:00:00 debian.cn

基于thanos搭建分布式prometheus

: failureThreshold: 10 httpGet: path: /-/ready port: 9090 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 terminationGracePeriodSeconds: 60 thanos-querier需要指定反向代理的列表,它支持基于DNS SRV记录的服务发现机制,因为thanos querier部署在K8S集群内,所以直接走coredns的DNS SRV记录发现thanos receive的所有POD地址即可,对应参数:–store=dnssrv+_grpc._tcp.thanos...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

Debian 9 使用kubeadm创建 k8s 集群(下)

在前一篇文章中,我们介绍了 Debian Stretch 环境下,Kubernetes 集群安装的准备工作。本文我们将继续介绍 k8s集群 的安装配置工作。 第4步 - 设置主节点 在本节中,您将设置主节点。 但是,在创建任何Playbooks之前,值得介绍一些概念,例如Pod和Pod网络插件 ,因为您的群集将同时包含这两个概念。 pod是运行一个或多个容器的原子单元。 这些容器共享资源,例如文件卷和网络接口。 Pod是Kubernetes中的基本调度单元:pod中的所有容器都保证在调度pod的同一节点上运行。 每个pod都有自己的IP地址,一个节点上的pod应该能够使用pod的IP访问另一个节点上的pod。 单个节点上的容器可以通过本地接口轻松进行通信。 然而,pod之间的通信更复杂,并...阅读全文

博文 2019-05-13 22:57:41 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

中文原文:https://www.yangcs.net/posts/what-happens-when-k8s/ (杨传盛的博客) 英文原文:https://github.com/jamiehannaford/what-happens-when-k8s 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作节点上。这一切就像变魔术一样,但你并不知道这一切的背后究竟发生了什么事情。 Kubernetes 的神奇之处在于:它可以通过用户友好的 API 来处理跨基础架构的...阅读全文

博文 2022-04-18 16:18:04 CSDN

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

需要观测时没有数据。eBPF 执行引擎可通过动态加载执行 eBPF 脚本来采集可观测性数据,举个具体例子,假设原本的 K8S 系统并没有做进程相关的监测,有一天发现了某个恶意进程(如挖矿程序)在疯狂地占用 CPU,这时候我们会发现这类恶意的进程创建应该被监测起来,这时候我们可以通过集成开源的进程事件检测库来是实现,但这往往需要打包、测试、发布这一整套流程,全部走完可能一个月就过去了。相比之下,eBPF 的方式显得更为高效快捷,由于 eBPF 支持动态地加载到内核监听进程创建的事件,所以我们可以将 eBPF 脚本抽象成一个子模块,采集客户端每次只需要加载这个子模块里的脚本完成数据采集,再通过统一的数据通道将数据推送到后端。这样我们就省去了改代码、打包、测试、发布的繁琐流程,通过无侵入的方式动态...阅读全文

博文 2022-03-21 09:11:51 joseph