首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【云原生 | Kubernetes篇】Kubernetes 配置(十五)

Kubernetes 配置配置最佳实战: 云原生 应用12要素 中,提出了配置分离。 在推送到集群之前,配置文件应存储在版本控制中。 这允许您在必要快速回滚配置更改。...使用 YAML 不是 JSON 编写配置文件。虽然这些格式几乎可以在所有场景中互换使用,但 YAML 往往更加用户友好。 建议相关对象分组到一个文件。...(volume进行挂载) 作为容器的环境变量(envFrom字段引用) 由kubelet 在为 Pod 拉取镜像使用 (此时Secret是docker-registry类型的) Secret 对象的名称必须是合法的...在为创建 Secret 编写配置文件,你可以设置 data 与/或 stringData 字段。 data 和 stringData 字段都是可选的。.../username.txt \ --from-file=./password.txt# 默认密钥名称是文件名。 你可以选择使用 --from-file=[key=]source 来设置密钥名称

58552
您找到你想要的搜索结果了吗?
是的
没有找到

Istio安全-证书管理(istio 系列六)

插入现有CA证书 本节展示了管理员如何使用现有的根证书来授权istio证书,签发证书和密钥。 默认情况下,istio的CA会生成一个自签的根证书和密钥,并使用它们签发负载证书。...istio的CA也会使用管理员指定的证书和密钥,以及管理员指定的根证书来签发负载证书。本节展示如何将这些证书和密钥插入Istio的CA。...插入现有证书和密钥 假设istio的CA需要使用现有的签名证书ca-cert.pem和密钥ca-key.pem,其中 root-cert.pem签发了证书ca-cert.pem,使用 root-cert.pem...\ --from-file=samples/certs/cert-chain.pem 使用demo profile部署istio。...dnsNames字段用于设定证书中的DNS名称,secretName字段指定保存证书和密钥kubernetes secret的名称

3.3K30

《前端运维》五、k8s--4机密信息存储与统一管理服务环境变量

一、储存机密信息   Secret 是 Kubernetes 内的一种资源类型,可以用它来存放一些机密信息(密码,token,密钥等)。信息被存入后,我们可以使用挂载卷的方式挂载进我们的 Pod 内。...密钥等机密信息。...这部分内容使用 Secret 显然不合适,打包在镜像内耦合又太严重。这里,我们可以借助 Kubernetes ConfigMap 来配置这项事情。...ConfigMap 是 Kubernetes 的一种资源类型,我们可以使用它存放一些环境变量和配置文件。信息存入后,我们可以使用挂载卷的方式挂载进我们的 Pod 内,也可以通过环境变量注入。...=./ kubectl get cm env-from-dir -o yaml 二)使用方式 1、环境变量注入 containers: - name: nginx #容器的名称 + env:

68210

Kubernetes 容器镜像基础

避免使用 latest 标签,因为它会导致不可控的版本变化,不利于环境的稳定性。 03 镜像拉取策略 镜像拉取策略 容器镜像拉取策略定义了 Kubernetes 在启动容器应该如何获取镜像。...私有仓库拉取问题: 如果使用私有容器镜像仓库,可能需要提供正确的认证信息,如用户名、密码或密钥。 镜像不存在: 如果指定的容器镜像在仓库中不存在,Kubernetes 将无法拉取镜像。...以下是一些关于 Kubernetes 容器镜像的最佳实践: 使用版本标签: 始终为容器镜像使用版本标签,不是使用 latest。...这有助于确保你的应用程序在部署使用的是明确的版本,避免由于 latest 标签导致的不确定性。...使用环境变量: 将配置信息作为环境变量传递给容器,不是硬编码在容器镜像中。这样做可以使应用程序更易于配置和管理。 健康检查和就绪检查: 在容器中实现健康检查和就绪检查,以确保容器的正常运行。

32010

ConfigMap用管理对象的方式管理配置

在今天的文章中我将介绍Kubernetes中的ConfigMap对象。它的主要用途什么,为什么要用ConfigMap以及在Kubernetes里通常是如何使用ConfigMap的管理应用配置的。...再将应用部署到测试,开发和生产等多个环境,由于环境不同,将配置放到应用程序的镜像里不是一个好的做法。理想情况下,你会希望将配置与应用程序镜像分开管理好匹配不同的部署环境。...create configmap 其中, 是要设置的ConfigMap 名称, 是要从中提取数据的目录...需要做的就是将文件名传递给–-from-file参数。通过这种方式创建ConfigMap,你可以根据需要多次使用--from-file参数,将多个文件数据源添加到ConfigMap中。...将 ConfigMap 挂载到数据卷 在 Pod 定义的 spec.volumes 字段下添加 ConfigMap对象的名称

92730

Kubernetes之Pod说明 - 运维小结

在这种方式中,你可以把Pod想象成是单个容器的封装,kuberentes管理的是Pod不是直接管理容器。 b)在一个Pod中同时运行多个容器。...kubernetes为什么使用pod作为最小单元,不是container 直接部署一个容器看起来更简单,但是这里也有更好的原因为什么在容器基础上抽象一层呢?...基于这些原因,kubernetes架构师决定使用一个新的实体,也就是pod,不是重载容器的信息添加更多属性,用来在逻辑上包装一个或者多个容器的管理所需要的信息。 2....kubernetes为什么允许一个pod里有多个容器 pod里的容器运行在一个逻辑上的"主机"上,它们使用相同的网络名称空间 (即同一pod里的容器使用相同的ip和相同的端口段区间) 和相同的IPC名称空间...1)通过–from-file参数从文件中进行创建,可以指定key的名称,也可以在一个命令行中创建包含多个key的ConfigMap。

1.3K31

快速上手Thanos:高可用的 Prometheus

它是如何工作的? 正如您在图中所看到的,每个EKS集群在同一个名称空间中拥有两个Prometheus pods,它们通过抓取集群行为来监视它们。...Thanos 边车上传,这两个值必须相等--storage.tsdb.min-block-duration,--storage.tsdb.max-block-duration默认情况下,它们设置为2小...S3 存储桶(ObjectStore) 使用以下命令创建密钥: kubectl -n monitoring create secret generic thanos-objstore-config -...-from-file=thanos.yaml=thanos-storage-config.yaml 第 7 步: 现在我们可以使用我们的相关自定义来安装/升级 helm chart。...第二阶段 我们专注于如何在主要的可观察性集群上部署和配置 Thanos 。如前所述,它将负责从我们在第一阶段部署的所有集群中收集所有数据。 为此,我们使用kube-thanos manifests。

1.7K10

Kubernetes | 存储 - Storage

/configmap/kubectl/game.properties $ kubectl get configmaps game-config-2 -o yaml —from-file 这个参数可以使用多次...Secret 的作用 Secret 解决了密码、token、密钥等敏感数据的配置问题,不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。.../serviceaccount 目录中 Opaque:base64编码格式的 Secret,用来存储密码、密钥等 [kubernetes.io/dockerconfigjson](<http://kubernetes.io...当然,当 Pod 不再存在,卷也将不复存在。也许更重要的是,Kubernetes 支持多种类型的卷,Pod 可以同时使用任意数量的卷。...当 Kubernetes 按照计划添加资源感知调度,将无法考虑 hostPath 使用的资源。 在底层主机上创建的文件或目录只能由 root 写入。

81930

kubernetes 设置CA双向数字证书认证

CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。...-newkey :-newkey是与-key互斥的,-newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,               然后生成的密钥名称由-keyout参数指定。...当指定newkey选项,后面指定rsa:bits说明产生               rsa密钥,位数由bits指定。 如果没有指定选项-key和-newkey,默认自动生成秘钥。     ...-out    :-out 指定生成的证书请求或者自签名证书名称      -config :默认参数在ubuntu上为 /etc/ssl/openssl.cnf, 可以使用-config指定特殊路径的配置文件...-batch  :指定非交互模式,直接读取config文件配置参数,或者使用默认参数值 下文中相关名词简写 CSR - Certificate Signing Request,即证书签名请求,这个并不是证书

2.6K20

kubernetes下的jenkins如何设置maven

部署到kubernetes之上后,要做一些设置才能顺利编译构建 环境信息 本次实战涉及到的环境信息如下: kubernetes:1.15 jenkins:2.190.2 maven:3.6.3 设置maven...点击底部的Save保存,今后在pipeline任务中就能通过名称mvn-3.6.3使用此maven工具了; 关于maven的settings.xml 局域网内的nexus私有仓库是经常用到的,作用如下:...缓存中央仓库的jar,这样局域网内的开发者在运行maven工程,所需jar是从nexus下载的,不必去中央仓库下载,可节省下载时间; 自己做的二方库发布到nexus私有仓库,给局域网内的其他人使用...Config Map名称填写settings.xml,挂载路径是/home/jenkins/settings,如下图: ? 5. 点击底部的Save保存设置; 6....经过以上设置,执行pipeline任务,pod的/home/jenkins/settings目录下就会有settings.xml文件,您只需指定使用此文件即可,mvn命令的-s参数就是用来指定settings.xml

1.8K10

K8S dashboard 2.0 安装配置并使用 ingress-nginx 访问

cert dashboard.crt kubectl create secret tls kubernetes-dashboard-certs -n kubernetes-dashboard --from-file...如果你使用第二条命令的--from-file的方式,则你需要手工指定文件名称tls.crt和tls.key(看示例的写法),如果你把上面的命令直接写成--from-file=dashboard.crt,...你还可以直接使用--from-file=mycert/这样直接指定一个目录,那么会把改目录下的所有文件都挂载到容器的/certs中,文件名保持不变。...运行配置文件内容,并获取admin-user的Token(admin-user不是固定值你随便起什么名字): kubectl apply -f kubernetes-dashboard-rbac.yaml...---- 八、彩蛋 —— 中文设置 Kubernetes Dashboard 2.0 已经支持中文界面了,但是你需要做一下浏览器设置,如下图: ? 其他浏览器,同理设置语言zh优先即可。

1.8K21

深入探究 K8S ConfigMap 和 Secret

显然不能满足线上部署要求,故引入了各种类似于 ZooKeeper 中间件实现的配置中心,但配置中心属于 “侵入式” 设计,需要修改引入第三方类库,它要求每个业务都调用特定的配置接口,破坏了系统本身的完整性,Kubernetes...传递该变量到服务,运行 shell 脚本,可能会用到,具体设置方式如图(5)所示: 以上解释了通过在 yaml 设置 env 引用 ConfigMap 中配置作为环境变量的使用,在使用过程中,我参考了...《Kubernetes In Action》这本书,发现此书中有一段是这样描述的,如图(6)所示: 其大概意思是,配置键中不能包含破折号,如果包含则不能设置到环境变量中,此书这部分是基于 Kubernetes...1.6 进行编撰,而我使用的是 kubernetes 1.14,不清楚是不是因为 Kubernetes 已经改进的原因,还是其他原因,我有两点不解的地方。...当然通过如上方式设置完成之后,就可以直接在容器内部使用环境变量读取已经设置的配置,但是使用环境变量的方式有一个致命的缺点是,当外部 ConfigMap 更新配置完成之后,容器内部环境变量并不会随之改变,

2.7K61

更新 Kubernetes APIServer 证书

本文我们将了解如何将一个新的 DNS 名称或者 IP 地址添加到 Kubernetes APIServer 使用的 TLS 证书中。...我们这里的集群是使用 kubeadm 搭建的单 master 集群,使用的也是 kubeadm 在启动集群创建的默认证书授权 CA,对于其他环境的集群不保证本文也同样适用。...该命令会使用上面指定的 kubeadm 配置文件为 APIServer 生成一个新的证书和密钥,由于指定的配置文件中包含了 certSANs 列表,那么 kubeadm 会在创建新证书的时候自动添加这些...$ kubeadm config upload from-file --config kubeadm.yaml 使用上面的命令保存配置后,我们同样可以用下面的命令来验证是否保存成功了: $ kubectl...,或者添加新的 DNS 名称或 IP 地址来使用控制平面的端点,所以掌握更新集群证书的方法也是非常有必要的。

1.2K30

更新Kubernetes APIServer证书

本文我们将了解如何将一个新的 DNS 名称或者 IP 地址添加到 Kubernetes APIServer 使用的 TLS 证书中。...我们这里的集群是使用 kubeadm 搭建的单 master 集群,使用的也是 kubeadm 在启动集群创建的默认证书授权 CA,对于其他环境的集群不保证本文也同样适用。...该命令会使用上面指定的 kubeadm 配置文件为 APIServer 生成一个新的证书和密钥,由于指定的配置文件中包含了 certSANs 列表,那么 kubeadm 会在创建新证书的时候自动添加这些...$ kubeadm config upload from-file --config kubeadm.yaml 使用上面的命令保存配置后,我们同样可以用下面的命令来验证是否保存成功了: $ kubectl...,或者添加新的 DNS 名称或 IP 地址来使用控制平面的端点,所以掌握更新集群证书的方法也是非常有必要的。

3.2K30
领券