草庐IT

k8smaster

全部标签

记NVIDIA显卡A100在K8S POD中“Failed to initialize NVML: Unknown Error“问题解决

记NVIDIA显卡A100在K8SPOD中"FailedtoinitializeNVML:UnknownError"问题解决问题描述因项目原因需要在k8s上跑GPU相关的代码,优选使用NVIDIAA100显卡,但在根据官方文档简单并部署GitHub-NVIDIA/k8s-device-plugin:适用于Kubernetes的NVIDIA设备插件后,出现了pod中GPU运行一段时间后丢失的问题,进入容器后发现nvidia-smi命令报错"FailedtoinitializeNVML:UnknownError"。尝试删除并且重建容器后,刚开始nvidia-smi命令正常,但是在大约10秒过后,重

K8s in Action 阅读笔记——【13】Securing cluster nodes and the network

K8sinAction阅读笔记——【13】Securingclusternodesandthenetwork13.1Usingthehostnode’snamespacesinapodPod中的容器通常在不同的Linux名称空间下运行,这使得它们的进程与其他容器或节点默认名称空间下运行的进程隔离开来。例如,我们学习到每个Pod都拥有自己的IP和端口空间,因为它使用其自己的网络名称空间。同样,每个Pod也拥有自己的进程树,因为它有自己的PID名称空间,并且它还使用自己的IPC名称空间,只允许在同一Pod中的进程通过IPC(Inter-ProcessCommunication)机制相互通信。13.

k8s - docker/containerd拉取私有仓库镜像

背景:公司内部搭建Harbor作为镜像仓库,k8s底层为containerd运行时,此时需要拉取私有仓库镜像有两种方案:第一种,在containerd的配置文件内配上harbor的admin管理员账号的认证信息,那么不管仓库是否是私有,管理员都可以拉取该仓库下的镜像。但是有个弊端,就是如果不同用户的话,只要知道别人的仓库名称和镜像名称等信息,那么底层实际上是可以用别人仓库下的镜像的,这就无法做到用户隔离了。第二种,每个用户都对应一个namespace,在namespace下创建secret用于记录该用户的harbor账号及密码,用于拉取镜像时通过验证。这里大家可以参考一下官网的文档https:

【面试题系列】关于K8s—Job的2个问题

 序言人生是一场消耗,要把美好的时光放在喜欢的人与事上。写在前面 前面学习了job,现在思考一下两个问题文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点第1个问题job执行完之后不会立刻从k8s面板里删除,你可以看到有很多留存状态的记录,如果cronjob频次很高,留下的这些job记录就会增长,有没有隐患?解答:频繁留存未删除的Job记录可能会导致以下隐患:浪费资源:每个Job都需要占用一定的资源,包括CPU、内存等,如果留存的Job记录过多,就会浪费宝贵的资源。影响性能:Kubernetes控制面板需要定期查询Job状态,如果留存的Job记录过多

【K8S系列】深入解析K8S存储

序言做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点Kubernetes(k8s)是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s存储相关知识希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流 专栏介绍这是这篇文章所在的专栏,欢迎订阅:【深入解析k8s】专栏简单介绍一下这个专栏要做的事:主要是深入解析每个知识点,帮助大家完全掌握k8s,以下是已更新的章节这是专栏介绍文章地址:【深入解析K8S专栏介绍】今天我们来看一下K8s存

K8S发布应用步骤详解

前言首先以SpringBoot应用为例介绍一下k8s的发布步骤。1.从代码仓库下载代码,比如GitLab;2.接着是进行打包,比如使用Maven;3.编写Dockerfile文件,把步骤2产生的包制作成镜像;4.上传步骤3的镜像到远程仓库,比如Harhor;5.编写Deployment文件;6.提交Deployment文件到k8s集群;从以上步骤可以看出,发布需要的工具和环境至少包括:代码仓库(GitLab)、打包环境(Maven)、镜像制作(Docker)、镜像仓库(Harbor)、k8s集群等。当前,也可以借助一些开源的系统来发布你的应用,比如:Jenkins、DHorse等。详细步骤假如

Rancher:外部服务连接K8S-MongoDB服务

Rancher:外部服务请求K8S-MongoDB服务一、前置条件二、「Layer4」与「Layer7」LoadBalancing的区别三、部署容器化MongoDB四、LoadBanlancerofService五、mongoDB验证连接六、总结#参考链接[1]HowaccessMongoDBinKubernetesfromoutsidethecluster[2]cannotconnecttomongo-expressbehindingressk8s[3]DefiningaService一、前置条件1、K8S集群支持7层负载均衡2、Rancher容器管理平台3、对K8S中的Service、Po

k8s ~ 数据存储、安全认证、DashBoard。

k8s。《Kubernetes~k8s从入门到入坑。》文章目录k8s。8.数据存储。8.1基本存储。8.1.1EmptyDir。8.1.2HostPath。8.1.3NFS。8.2高级存储。8.2.1PV。8.2.2PVC。8.2.3生命周期。8.3配置存储。8.3.1ConfigMap。8.3.2Secret。9.安全认证。9.1访问控制概述。9.2认证管理。9.3授权管理。9.4准入控制。10.DashBoard。10.1部署Dashboard。10.2使用DashBoard。8.数据存储。在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也

企业级实战 Spring Boot + K8S 中的滚动发布、优雅停机、弹性伸缩、应用监控、配置分离

下面为大家介绍我司生产环境使用了3年的基于K8S的devops配置实现K8s+SpringCloud实现零宕机发版,优雅重启:健康检查+滚动更新+优雅停机+弹性伸缩+Prometheus监控+配置分离(镜像复用)汇总配置业务层面项目依赖pom.xml使用spring-boot-starter-actuator镜像存活、就绪检查使用prometheus进行应用监控org.springframework.bootspring-boot-starter-actuatorio.micrometermicrometer-registry-prometheus定义访问端口、路径及权限application

Kubernetes 系列:了解 k8s 架构(一)

Kubernetes概述当下,我们很多项目于都在CloudNative(云原生)的上面,这种方法旨在使组织能够确保可用性并快速响应和适应变化,云原生其实就是一组本质上支持在不同云环境(公共云、私有云或混合云)上大规模构建、运行和管理应用程序的实践和技术。云原生离不开两个概念:容器和微服务,这两个概念是任何云原生应用程序的构建块:微服务是小型、独立的服务(软件)的集合,可以在容器中轻松打包和执行。容器基于容器镜像,容器是一个标准的软件单元,它打包代码及其所有依赖项,无论基础设施如何,都允许应用程序快速可靠地运行容器镜像是一个轻量级的、独立的、可执行的软件包,其中包含运行应用程序所需的一切,容器镜