草庐IT

k8s-Kubernetes

全部标签

Kubernetes(K8s)这样用,升职加薪更轻松

Kubernetes(K8s)已经成为容器编排和管理领域的瑰宝,它提供了多个控制器,用于管理容器化应用程序的部署和伸缩。其中一个核心控制器是Deployment。本文将深入介绍Deployment的概念、它在Kubernetes集群中的作用,工作原理,以及一些生动的应用场景,以便更好地理解这一重要的概念。Deployment概念Deployment是Kubernetes中的一个资源对象,可将其视为一个应用程序或微服务的“部署计划”。用户可以定义Deployment,并说明希望运行多少个Pod副本以及如何管理这些副本。Deployment具有以下关键属性:1.ReplicaSet控制器:Depl

彻底搞懂 K8S Pod Pending 故障原因及解决方案

即使在高成熟度级别Kubernetes集群中podpending也是无处不在。如果您随机询问任何使用KubernetesDevOps工程师来确定折磨他们噩梦的最常见错误,podpending可能是非常常见的问题(可能仅次于CrashLoopBackOff)。尝试推送更新并看到它卡住会使DevOps紧张。即使解决方案相当简单,找到pod挂起的原因并了解您需要应用的更改也很重要(Kubernetes故障排除很少是微不足道的)。在本文中,我们将阐明导致此问题的不同情况,让DevOps团队能够快速找到解决方案,最重要的是,尽可能避免它。KubernetesPodpending是什么意思?Kuberne

【K8S认证】2023年CKS考题-Kube-Bench基准修复(解析+答案)

题目:k8sKube-Bench不安全项修复Context:针对kubeadm创建的cluster运行CIS基准测试工具时,发现了多个必须立即解决的问题。Task:通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。修复针对API服务器发现的所有以下违规行为:1.2.7Ensurethatthe--authorization-modeargumentisnotsettoAlwaysAllow FAIL1.2.8Ensurethatthe--authorization-modeargumentincludesNode FAIL1.2.9Ensurethatthe--authorizat

k8s中无法获取到nginx-ingress的客户端真实ip地址x-forwarded-for

1.查看阿里云的nginx-ingress配置文档https://help.aliyun.com/document_detail/42205.html容器K8s配置方案如果您的服务部署在K8s上,K8s会将真实的客户端IP记录在X-Original-Forwarded-For字段中,并将WAF回源地址记录在X-Forwarded-For字段中。您需要修改容器的配置文件,使Ingress将真实的IP添加到X-Forwarded-For字段中,以便您正常获取真实的客户端IP地址。您可以参考以下步骤,对容器配置文件进行修改。执行以下命令修改配置文件kube-system/nginx-configur

Kubernetes并非无状态,您需要备份工具

现在一切都变成了“Gitops”,所有的工作负载都变成了“无状态”,我还需要 Kubernetes 备份工具吗?我想向您展示,这是一个初学者经常会犯的严重误解......译自Kubernetesisnotstateless,youneedabackuptool,作者是MichaelCourcy。一种奇怪的假设我们经常听到使用Kubernetes的客户和潜在客户提出这样一个奇怪的假设:有了Kubernetes,现在一切都变成Gitops和无状态了!因此:既然一切都变成了“Gitops”,所有的工作负载都变成了“无状态”,我还需要Kubernetes备份工具吗?我想向您展示,这是一个初学者经常会犯

从零在单机上搭建k8s ,kubeflow1.7机器学习平台

从零在单机上搭建k8s,kubeflow1.7机器学习平台前言kubeflow是在k8s之上搭建的机器学习平台,涵盖了机器学习的开发、训练、优化、部署、管理阶段。由于我是在单机上进行的,故k8s环境是基于kind来进行快速搭建。Kind是一个通过使用docker容器模拟节点来创建本地k8s集群的工具。综上,不难看出,kubeflow依赖于k8s,kind创建的k8s位于docker容器中。一、基础环境准备centos版本:CentOSLinuxrelease7.6.1810docker版本:24.0.7kind版本:0.17.0[注:kind0.17.0默认用的是v.1.25.3版本k8s]k

kubernetes 节点排水维护 cordon, drain, uncordon

1.这三个命令是正式release的1.2新加入的命令,三个命令一起介绍,是因为三个命令配合使用可以实现节点的维护。在1.2之前,因为没有相应的命令支持,如果要维护一个节点,只能stop该节点上的kubelet将该节点退出集群,是集群不在将新的pod调度到该节点上。如果该节点上本生就没有pod在运行,则不会对业务有任何影响。如果该节点上有pod正在运行,kubelet停止后,master会发现该节点不可达,而将该节点标记为notReady状态,不会将新的节点调度到该节点上。同时,会在其他节点上创建新的pod替换该节点上的pod。这种方式虽然能够保证集群的健壮性,但是任然有些暴力,如果业务只有一

千云物流 - 使用k8s负载均衡openelb

openelb的介绍具体根据官方文档进行安装官方文档,这里作为测试环境的安装使用.OpenELB是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的Kubernetes环境中使用LoadBalancer类型的Service对外暴露服务。OpenELB项目最初由KubeSphere社区发起,目前已作为CNCF沙箱项目加入CNCF基金会,由OpenELB开源社区维护与支持。与MetalLB类似,OpenELB也拥有两种主要工作模式:Layer2模式和BGP模式。OpenELB的BGP模式目前暂不支持IPv6。layer2ModeBGPMode准备k8s的环境千云物流测试环境部

云原生之在kubernetes集群下部署Mysql应用

云原生之在kubernetes集群下部署mysql应用一、Mysql介绍二、kubernetes集群介绍1.k8s简介2.k8s架构图三、本次实践介绍1.本次实践简介2.本次环境规划三、检查本地k8s集群环境1.检查k8s各节点状态2.检查k8s版本3.检查k8s系统pod状态四、编辑mysql.yaml文件五、创建mysql应用1.应用mysql.yaml2.查看pod状态六、查看mysql服务IP七、外部客户端远程访问mysql八、本次实践总结一、Mysql介绍数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。MySQL是一种开源的关系型数据库管理系统,可将数据保存在不

K8S基础笔记

 1、namespace名称空间用来对集群资源进行隔离划分,默认只隔离资源,不隔离网络k8s默认的名称空间为default查看k8s的所有命名空间kubectlgetnamespace或者kubectlgetns创建名称空间kubectlcreatens名称或使用yaml方式 编写yamlkubectlapply-fyaml文件appVersion:v1kind:Namespacemetedata:name:helloappVersion表示版本号,kind表示种类(说明是名称空间,若是pod就是pod类型),metedata.name表示名称为hello的名称空间删除yaml方式创建的名称空