tnblog
首页
视频
资源
登录

Secret配置

6278人阅读 2020/4/23 12:03 总访问:3467386 评论:0 收藏:0 手机
分类: 容器编排

Kubernetes

Secret配置


Secret 介绍


Secret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。


Secret的三种类型


  • Service Account:用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的 /run/secrets/kubernetes.io/serviceaccount 目录中;
  • Opaque:base64编码格式的Secret,用来存储密码、密钥等;
  • kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息。


Secret存储mysql密码


mysql.yaml

  1. apiVersion: v1
  2. kind: Secret
  3. metadata:
  4. name: netcore
  5. namespace: netcore
  6. type: Opaque
  7. data:
  8. mysql_root_password: cGFzc3vcmQ=
  9. ---
  10. apiVersion: v1
  11. kind: Service
  12. metadata:
  13. name: mysql
  14. namespace: netcore
  15. spec:
  16. type: NodePort
  17. ports:
  18. - port: 3306
  19. selector:
  20. app: mysql
  21. ---
  22. apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
  23. kind: Deployment
  24. metadata:
  25. name: mysql
  26. namespace: netcore
  27. spec:
  28. selector:
  29. matchLabels:
  30. app: mysql
  31. strategy:
  32. type: Recreate
  33. template:
  34. metadata:
  35. labels:
  36. app: mysql
  37. spec:
  38. containers:
  39. - image: mysql:5.6
  40. name: mysql
  41. env:
  42. # Use secret in real usage
  43. - name: MYSQL_ROOT_PASSWORD
  44. valueFrom:
  45. secretKeyRef:
  46. name: netcore
  47. key: mysql_root_password
  48. ports:
  49. - containerPort: 3306
  50. name: mysql
  51. volumeMounts:
  52. - name: mysql-persistent-storage
  53. mountPath: /var/lib/mysql
  54. volumes:
  55. - name: mysql-persistent-storage
  56. hostPath:
  57. path: /var/lib/mysql

部署

部署

在Dashboard中查看Secret

(注意)由于我这里是base64编码的,所以这里会现出原形

查看Secret


创建腾讯云私有镜像


创建命名空间

创建命名空间

创建我的镜像

我的镜像

查看使用指南

使用指南

docker登录到腾讯云

docker登录到腾讯云

docker创建镜像并上传到腾讯云

(注意)这里我为了与项目同名重新创建了一个镜像【name-api

查看镜像

查看镜像


通过imagePullSecrets拉取指定仓库地址(腾讯云做演示)


通过kubectl命令来创建用于docker registry认证的secret

  1. kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL -n netcore

然后我这边执行执行进行创建

这边一定要加 -n netcore (我这儿没加)

最后通过修改deploy.yaml再次发布name-api
deploy.yaml

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: name-api
  5. namespace: netcore
  6. labels:
  7. name: name-api
  8. spec:
  9. replicas: 3
  10. selector:
  11. matchLabels:
  12. name: name-api
  13. template:
  14. metadata:
  15. labels:
  16. name: name-api
  17. spec:
  18. containers:
  19. - name: name-api
  20. env:
  21. - name: HOSTNAME_COMMAND
  22. valueFrom:
  23. fieldRef:
  24. fieldPath: metadata.name
  25. image: ccr.ccs.tencentyun.com/hbtest/name-api:v2
  26. ports:
  27. - containerPort: 80
  28. imagePullPolicy: Always
  29. imagePullSecrets:
  30. - name: tenxunyunregistrykey
  31. ---
  32. kind: Service
  33. apiVersion: v1
  34. metadata:
  35. name: name-api
  36. namespace: netcore
  37. spec:
  38. type: NodePort
  39. ports:
  40. - port: 80
  41. targetPort: 80
  42. selector:
  43. name: name-api

再次发布并查看Secret

查看其中的一个Name-api的pod

  1. kubectl get pod/name-api-xxx -n netcore -o yaml


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

.net MVC IIS 无需Secret 的Microsoft登录

IIS 无需Secret 的Microsoft登录[TOC] 核心代码public static class FMicsorftLoginHepler { // For more informati...

Redis常用配置

配置主从节点slaveof127.0.0.16379 可能会遇到持久化错误:Error reply to PING from master: ‘-MISCONF Redis is configu...

让IIS支持webp格式图片让IIS支持vtt格式,iis设置mime类型,iis配置支持的类型

webp格式图片可以让图片体积变小。也让下载图片变得更加困难一点 在线制作webp工具 https://www.upyun.com/webp?utm_mediu...

Service-stack.redis配置连接池与读写分离(处理并发相关等)

配置连接池与读写分类 //写节点(主节点) List<string>writes=newList<string>(); writes.Add("123456a...

nginx常用命令。nginx启动命令。nginx重启命令。nginx关闭命令。nginx测试配置文件是否正确。nginx nginx.pid文件丢失报错

启动命令:start nginx 关闭命令:nginx -s stop nginx -s quit nginx -s stop与nginx -s quit区别 Quit is a graceful shu...

nginx配置负载均衡注意事项

一.如果location下面的proxy_pass配置有端口号nginx就会直接反向代理到这个地址这样你配置的upstream就没有用了,即使名字和...

ServiceStack.Redis操作Redis配置单例模式

我携漫天星辰以赠你,仍觉漫天星辰不如你。单利的应该是连接池而不应该是redis对象。如果每次操作都是一个redis对象是会有...

配置Java环境

安装jdk 地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html这就不一一赘述了...

c使用unity实现依赖注入四:unity配置文件注入

需要用到的配置文件一:先向xml申明一下unity的配置文件所在的实现类<configSections> <sectionname="unity...

NET CORE配置EF连接字符串。windows验证的连接字符串配置

在appsettings.json中配置好连接字符串{"ConnectionStrings":{ "BloggingDatabase":"Server=(lo...

net core配置错误日志

发布net core项目的时候经常会遇到错误,在页面上也不好直接看到。可能就提示一句话:An error occurred while starting th...

MySQL概述与安装配置

1996年首次发行,对于初学者来说,MySQL很容易上手MySQL数据库MySQL 是开源的,所以你不需要支付额外的费用。MySQL 支持大...

EF Code First 多对多关系配置

Code First配置多对多关系,常规有两种方法例如我们有一张学生表,和一张课程表,学生和课程是一个多对多的关系方法1:单纯...

使用nginx在同一台服务器上配置多个二级域名

一般二级域名都是解析到不同的服务器上,但是很多时候没有那么土豪可以用那么多服务器哇。当然土豪完全可以1个二级域名一台...

使用nginx在同一台服务器上配置多个二级域名2

在第一篇中介绍了一种方法:http://www.tnblog.net/aojiancc2/article/details/2430其实还可以使用第二种方法,也就是配置...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术