K8S集群中部署Secret保存密钥(14)

之前我们学习了ConfigMap的时候,我们说ConfigMap这个资源对象是Kubernetes当中非常重要的一个对象,但是如果要是密码之类的文件存放到这里就不合适了,k8s已经为我们准备了另外的一种方式专门保存密码的文件,就是我们今天要介绍的secret。



Secret用来保存敏感信息,例如密码、OAuth 令牌和 ssh key等等,将这些信息放在Secret中比放在Pod的定义中或者docker镜像中来说更加安全和灵活。

接下来我们验证一下,就拿k8s结合harbor仓库进行演示,在演示的时候我们需要先创建一个仓库,就是harbor仓库,可以参考我之前的文档
https://blog.51cto.com/xiaorenwutest/2161180

这里先看一下效果

在创建完成harbor之后我们首先需要node节点和harbor进行认证一下

修改两处


这里修改docker配置文件,要指定harbor的配置文件

然后重启一下docker服务


我这里是应为已经登陆过了,所以就不用登录直接就上来了


可以得到,有了上面的就可以了

接下来我们测试一下是否可以

往下拉个镜像


成功了

好了接下来我们配置一下k8s当中的secret
创建一个yaml



kubectl create secret docker-registry harborsecret --docker-server=10.20.2.116 --docker-username=tty --docker-password=123.asdPP [email protected] --namespace=default --dry-run -o yaml

接下来配置pod的yaml


我们启动一下


说明没有登陆

接下来启动一下secret

这次是不是就启动了呢

【注意】:私有的项目需要配置这个,如果是公开的有上面的两个就可以了,当然也可以都配置上,

另外还有一种方法创建secret



是不是和上面的一样,然后启动也是可以的,我们测试一下




启动了把,两种方法创建都可以,但是我比较喜欢第一种,可以自己定义yaml文件比较方便

好了今天的演示到这里,欢迎大家私信留言

原文地址:https://blog.51cto.com/xiaorenwutest/2486424

时间: 2024-10-13 10:54:47

K8S集群中部署Secret保存密钥(14)的相关文章

K8S集群中部署jenkins

本文介绍在k8s环境中进行jenkins server的部署和配置.Jenkins是一个开源的.功能强大的持续集成和持续构建工具,采用master和salve架构,我们通过将jenkins集成环境部署在k8s集群中,可以实现jenkins slave按需创建.动态的伸缩.同时也提供了在k8s环境中应用的持续部署解决方案. 一.准备docker镜像文件 1.编译jenkins server docker镜像,默认的jenkis镜像已包含jdk,版本为1.8.0_171 # cat dockerfi

实操教程丨如何在K8S集群中部署Traefik Ingress Controller

注:本文使用的Traefik为1.x的版本 在生产环境中,我们常常需要控制来自互联网的外部进入集群中,而这恰巧是Ingress的职责. Ingress的主要目的是将HTTP和HTTPS从集群外部暴露给该集群中运行的服务.这与Ingress控制如何将外部流量路由到集群有异曲同工之妙.接下来,我们举一个实际的例子来更清楚的说明Ingress的概念. 首先,想象一下在你的Kubernetes集群中有若干个微服务(小型应用程序之间彼此通信).这些服务能够在集群内部被访问,但我们想让我们的用户从集群外部也

docker swarm英文文档学习-8-在集群中部署服务

Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运行服务容器的镜像名称和标记有多少容器参与服务是否有任何端口暴露给集群之外的客户端当Docker启动时,服务是否应该自动启动重启服务时发生的特定行为(例如是否使用滚动重启)服务可以运行的节点的特征(例如资源约束和位置首选项)有关群模式的概述,请参见 Swarm mode key concepts.有关

k8s集群中的存储持久化概述

存储分类:直连式存储,集中式共享存储,分布式存储文件存储,块存储,对象存储DAS,NAS,SANDAS属于直连式存储,将存储设备通过SCSI接口或者光纤通道直接和主板连接,不能实现数据共享NAS和SAN属于集中式共享存储NAS使用NFS和CIFS(原来叫SMB,微软的)协议SAN分为FC SAN和IP SANIP SAN使用iSCSI技术NFS实现linux之间共享,smaba基于CIFS协议,实现linux和windows之间文件共享ceph属于分布式共享系统 k8s集群中支持的持久存储主要包

同一k8s集群中多nginx ingress controller

同一k8s集群中多nginx ingress controller同一k8s集群中,若有多个项目(对应多个namespace)共用一个nginx ingress controller,因此任意注册到ingress的服务有变更都会导致controller配置重载,当更新频率越来越高时,此controller压力会越来越大,理想的解决方案就是每个namespace对应一个nginx ingress controller,各司其职. NGINX ingress controller提供了ingress

将 master 节点服务器从 k8s 集群中移除并重新加入

背景 1 台 master 加入集群后发现忘了修改主机名,而在 k8s 集群中修改节点主机名非常麻烦,不如将 master 退出集群改名并重新加入集群(前提是用的是高可用集群). 操作步骤 ssh 登录另外一台 master 节点将要改名的 master 节点移出集群. kubectl drain blog-k8s-n0 kubectl delete node blog-k8s-n0 登录已退出集群的 master 服务器重置 kubelet 配置并重新加入集群. kubeadm reset k

同一个Docker swarm集群中部署多版本的测试环境

先介绍下用到的技术 Docker swarm: Docker官方的集群管理工具,相比kubernetes更加简单,容易入门.https://docs.docker.com/engine/swarm/ Traefik: 一个现代化的反向代理工具,原生支持Docker swarm模式,可以实现swarm的动态代理.https://docs.traefik.io/user-guide/swarm-mode/ 下图展示主要的思路: 在Docker swarm中创建某个测试版本service时,通过设置s

【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像

本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了kubectl命令行工具来与集群通信.如果未准备好集群,那么你可以使用Minikube创建一个K8S集群,或者你也可以使用下面K8S环境二者之一: Katacoda Play with Kubernetes 如果需要查看K8S版本信息,可以输入指令kubectl version. 在本练习中,我们将使

Docker Swarm集群中部署Traefik负载均衡器

一.创建单节点的Docker Swarm集群 docker swarm init 二.在Swarm集群中创建一个网络 docker network create --driver=overlay traefik --attachable 三.在Swarm集群中部署traefik负载均衡器服务 docker service create \ --name traefik \ --constraint=node.role==manager \ --publish 80:80 --publish 80