0
点赞
收藏
分享

微信扫一扫

json文件的读取

12a597c01003 2024-05-06 阅读 35

一、Secret

  1. Secret 用于保存机密数据的对象。一般由于保存密码、令牌或密钥等。
    • data字段用来存储 base64 编码数据。
    • stringData存储未编码的字符串。
  2. Secret 意味着你不需要在应用程序代码中包含机密数据,减少机密数据(如密码)泄露的风险。
  3. Secret 可以用作环境变量、命令行参数或者存储卷文件。

二、创建secrets资源

1.创建工作目录

2.尝试使用base64进行编码 

3.声明式创建secrets资源

apiVersion: v1
kind: Secret
metadata:
name: s1

#用户自定义的类型(Opaque为自定义类型;generic为)
type: Opaque
data:
k8s: b3NsZWUK
oslee: b3NsZWUK

4.响应式创建secret

三、pod引用secret资源

1.pod资源env环境变量引用

apiVersion: v1
kind: Pod
metadata:
  name: m13
spec:
  containers:
  - image: nginx:1.20.1-alpine
    name: nginx
    env: 
    - name: secret-env01
      valueFrom:
        #声明引用sercet
        secretKeyRef: 
          #声明secret名称
          name: s1
          #声明secret的key
          key: oslee
    - name: secret-env02
      valueFrom:
        secretKeyRef:
          name: secret-02
          key: class

2.pod资源volume存储卷引用secret资源

#pod资源env环境变量方式引用secret
apiVersion: v1
kind: Pod
metadata:
name: pod-secret-01
spec:
containers:
- name: c1
image: nginx:1.20.1-alpine
env:
- name: k8s
valueFrom:
#声明引用secret资源
secretKeyRef:
name: s1
#声明使用secret资源中的那一个key
key: k8s

---

#vomlume方式引用
apiVersion: v1
kind: Pod
metadata:
name: pod-secret-02
spec:
#声明存储卷
volumes:
- name: vol-secret
#声明存储卷的类型是secret
secret:
#指定secret资源的名称(使用哪个secret资源?)
secretName: s1
containers:
- name: c2
image: nginx:1.24.0-alpine
volumeMounts:
- name: vol-secret
#挂载到容器的哪个位置路径
mountPath: /secret/

 3.pod资源清单指定key引用secret

apiVersion: v1
kind: Pod
metadata:
  name: pod-secret-03
spec: 
  #声明存储卷
  volumes:
  - name: vol-secret
    #声明存储卷的类型是secret
    secret:
      #1,指定secret资源的名称(使用哪个secret资源?)
      secretName: s1
      #2,指定secret资源中要引用的key
      items: 
      - key: k8s
        path: oslee.path
  containers:
  - name: c2
    image: nginx:1.24.0-alpine
    volumeMounts:
    - name: vol-secret
      #挂载到容器的哪个位置路径?
      mountPath: /secret/oslee.path
      #只挂在文件,不清空容器原有文件夹
      subPath: oslee.path

四、secret类型之-私有镜像仓库使用

1.harbor创建私有仓库

2.推送镜像到私有仓库

3.响应式创建拉取镜像的secret资源

4.创建pod引用拉取镜像的secret资源

[root@k8s1 secrets]# cat pod-harbor-secret.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-harbor-01
spec:
#指定镜像拉取的secret资源(secret的拉取镜像类型);
imagePullSecrets:
- name: oslee-harbor
containers:
- name: c3
image: harbor.oslee.com/oslee-private/nginx:1.20.1-alpine

5.声明式创建docker registry类型的secret资源

5.1.【-o yaml】模仿系统声明式的写法

 5.2.base64解码查看内容

5.3根据上述信息,自己编辑secret声明式资源清单

[root@k8s1 secrets]# cat harbor-secret.yaml 
apiVersion: v1
kind: Secret
metadata:
name: oslee-harbor02
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: eyJhdXRocyI6eyJoYXJib3Iub3NsZWUuY29tIjp7InVzZXJuYW1lIjoiYWRtaW4iLCJwYXNzd29yZCI6ImhhcmJvcjEyMyIsImVtYWlsIjoib3NsZWVAcXEuY29tIiwiYXV0aCI6IllXUnRhVzQ2YUdGeVltOXlNVEl6In19fQ==

 

 

举报

相关推荐

0 条评论