草庐IT

加密 K8s Secrets 的几种方案

前言你可能已经听过很多遍这个不算秘密的秘密了--KubernetesSecrets不是加密的!Secret的值是存储在etcd中的base64encoded(编码)字符串。这意味着,任何可以访问你的集群的人,都可以轻松解码你的敏感数据。任何人?是的,几乎任何人都可以,尤其是在集群的RBAC设置不正确的情况下。任何人都可以访问API或访问etcd。也可能是任何被授权在Namespace中创建pod或Deploy,然后使用该权限检索该Namespace中所有Secrets的人。如何确保集群上的Secrets和其他敏感信息(如token)不被泄露?在本篇博文中,我们将讨论在K8s上构建、部署和运行应

k8s集群监控方案--node-exporter+prometheus+grafana

目录前置条件一、下载yaml文件二、部署yaml各个组件2.1node-exporter.yaml2.2Prometheus2.3grafana2.4访问测试三、grafana初始化3.1加载数据源3.2导入模板四、helm方式部署前置条件安装好k8s集群(几个节点都可以,本人为了方便实验k8s集群只有一个master节点),注意prometheus是部署在k8s集群内部的,不同于传统监控分为监控端和被控端。部署k8s参考教程:Linux部署单节点k8s_linux单节点安装k8s_luo_guibin的博客-CSDN博客                 k8s集群环境的搭建·语雀11.0.1

大白话说明白K8S的PV / PVC / StorageClass

先来个一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组件。所有Pod使用存储只有一个原则:先规划 → 后申请 → 再使用。一、理论1、PV概念PV是对K8S存储资源的抽象,PV一般由运维人员创建和配置,供容器申请使用。没有PV之前,服务器的磁盘没有分区的概念,有了PV之后,相当于通过PV对服务器的磁盘进行分区。2、PVC概念PVC是Pod对存储资源的一个申请,主要包括存储空间申请、访问模式等。创建PV后,Pod就可以通过PVC向PV申请磁盘空间了。类似于某

关于k8s中ingress、Gateway、nginx之间关系

在Kubernetes中,Ingress是一种用于将外部流量路由到集群内部服务的API对象。它通常与Ingress控制器一起使用,Ingress控制器负责根据Ingress规则路由外部流量到不同的服务上。下面是使用Ingress的一些步骤:安装Ingress控制器在Kubernetes中,Ingress控制器是需要安装和配置的。有许多流行的Ingress控制器,如NginxIngressController、Traefik、HaproxyIngress等,你需要选择一个适合你的需求的Ingress控制器并安装它。创建Ingress对象创建Ingress对象可以通过yaml文件进行定义,例如:a

sockets - 如何在 k8s pod 中使用容器到容器网络配置 TCP active 探测?

我注意到pod中的容器可以像宣传的那样使用localhost相互通信。例如,一个容器在localhost:9999上启动一个服务器套接字,第二个容器可以连接到该地址。如果我公开服务器容器的端口,这将失败。如果我在该端口上创建TCPactive探测,它也会失败。看起来livenessprobe使用podIP地址并且无法连接到localhost:9999除非它被暴露。如果两个容器都使用podIP,即$HOSTNAME:9999,并且端口公开,则一切正常。有没有人有一个示例可以在每个容器使用localhost并且TCP探测有效的情况下工作? 最佳答案

doris on k8s

背景Doris官网上有Kubernetes部署的文档,无奈根据官网的文档,构建完镜像无法成功启动。故参考官网做了一些改动,成功启动FE、BE节点。此探索为临时部署方案,还需再完善、优化。版本说明与限制组件版本Doris1.2.4.1Docker20.10.23Kubernetes1.22.12使用限制:只支持一个FE节点,BE节点可以弹性扩缩容,支持挂载卷,防止数据丢失。FE、BE服务挂掉后重新启动,需要短暂等待,节点状态正常后方可访问。部署流程部署非常简单,创建拷贝yaml文件内容,即可启动。若需修改版本,参考下文自定义镜像。以下为示例,详情可以查看GitHubdoris-k8s启动FE服务

k8s学习笔记(三):pod的启动流程和实践案例

文章目录k8s创建podpod的启动流程流程图实践案例:控制器的方式创建nginx的pod流程图1.使用kubectl创建nginx的pod2.查看部署控制器3.查看副本控制器4.查看pod的详细信息参数的含义pod的命名规则5.进入pod容器6.删除pod容器7.删除部署控制器k8s创建podpod的启动流程流程图运维人员向kube-apiserver发出指令(我想干什么,我期望事情是什么状态)api响应命令,通过一系列认证授权,把pod数据存储到etcd,创建deployment资源并初始化。(期望状态)controller通过list-watch机制,监听apiserver读取etcd,

【云原生|K8s系列特别篇】:一文速通实战Helm管理工具

本期文章是K8s特别篇,主要是速通学习Helm之简介、仓库、实践应用等。通过本期文章:我们将学习Helm的基础知识、简介、仓库、实践应用等在前期的文章中,已经介绍了一些云原生入门的知识及简单实战,感兴趣的同学可以去我的云原生专栏中学习,任意门:云原生学习专栏一文速通Helm之简介、仓库、实践应用等开山之词:Helm是什么?中流砥柱:为什么需要Helm?以一敌百:深入了解Helm架构1、Helm客户端2、Tiller服务器3、chart核心概念:Helm的三大法宝如日中天:实战HelmDemo开山之词:Helm是什么?用过Ubuntu和CentOS的同学都不陌生,Ubuntu下的ap-get或者

k8s coredns 添加静态解析

修改corednsconfigmap,添加hosts{120.241.21.12api.mch.weixin.qq.com36.155.207.147yun.tim.qq.comfallthrough}kind:ConfigMapapiVersion:v1metadata:name:corednsnamespace:kube-systemdata:Corefile:|.:53{errorshealthreadykubernetescluster.local.in-addr.arpaip6.arpa{podsinsecurefallthroughin-addr.arpaip6.arpa}prom

k8s-实战入门-Pod详解(十二)

Pod生命周期我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:pod创建过程运行初始化容器(initcontainer)过程运行主容器(maincontainer)容器启动后钩子(poststart)、容器终止前钩子(prestop)容器的存活性探测(livenessprobe)、就绪性探测(readinessprobe)pod终止过程在整个生命周期中,Pod会出现5种状态(相位),分别如下:挂起(Pending):apiserver已经创建了pod资源对象,但它尚未被调度完成或者仍处于下载镜像的过程中运行中(Running):pod已经被调度至某节点,