成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 KubeSeal 高效加密和管理 Kubernetes 集群的 Secret

系統 Linux
在 K8s 的管理過程中,像 Secret 這種資源并不好維護,KubeSeal 提供了一種相對簡單的方式來對原始 Secret 資源進行加密,并通過控制器進行解密,以此來規避 Secret 泄露風險。

安裝

安裝 KubeSeal

$ wget https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.18.0/kubeseal-0.18.0-linux-amd64.tar.gz
$ tar -xvf kubeseal-0.18.0-linux-amd64.tar.gz
$ cp kubeseal /usr/local/bin/
$ kubeseal --version

安裝controller

$ kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.18.0/controller.yaml

執行上述命令之后會在 kube-system 命名空間下啟動一個控制器 Pod:

$ k get pod -n kube-system |grep seal
sealed-secrets-controller-b9fb75d85-k4csm 1/1 Running 0 7h28m

Pod 啟動之后,使用端口轉發映射到本地:

$ kubectl -n kube-system port-forward svc/sealed-secrets-controller 8080:8080

使用方式

生成加密文件

首先在本地創建一個名為 secret-example.yaml 的文件,編碼前的 secret 字段為:mysupersecret

apiVersion: v1
kind: Secret
metadata:
name: secret-example
data:
secret: bXlzdXBlcnNlY3JldAo=

使用如下命令將 secret-example.yaml,轉換為加密后的文件 sealed-secret-example.yaml

$ kubeseal --secret-file secret-example.yaml --sealed-secret-file sealed-secret-example.yaml

sealed-secret-example.yaml 的內容如下,spec.encryptedData.secret 就是加密后的內容:

apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: secret-example
namespace: kube-system
spec:
encryptedData:
secret: AgB1ZZg8+J+0HLymOQZdTfWVQZiNkhm5X6WULJuBAAEaQQNhM8i2TV2I1SgKT4sUOCRv90XA1oeFld3XoGPjvYE3leOD1cvK1dDVqno6mNLRziokISk/9fB3cVE2GVgyCud//M53xNpVemDufgsJS2q/KGIOeNEijk9ZM2FaKoLDwtPaVNL0NfmC2xne2XtWJp+/eMOREhbubQhnj5M/Se75axazviuDNf6Ss9fAuR38Msd5DXnKBtyrckEHSa8TDn8ErssOh0ogX14e0/ThN3EWJecSBtx7Xfd0m90+vjmvWevMag442349aquR/qLo0mg40mhcCqSBw/MjaIGZ2F5XRufG1WEP43OgLMTixN2lLSU3eYTrv5t075taI9WJgoOl0DD8UA74EMpX7RMKTiXD6C0XngKmMKg5fUK7JNLFfwHMRPi4zNTwJa9ViDyD0iAJrGGbmMso/nHEtwOtrLE5Rrf0kLQ5N6Lj57gOBdqu903/vDM4Jm695GvEWL2aR3ShOxasHCuZeXj8Q5+KYWeF9sySiJH8bwEtaw6x7j9AxBOwjxWYD0Jvj9KhtlqBa4okSDc3bcgRKGhsSXQx6jOumI5rj+V542hkB6Z8JOtJ17VmzR6XDQDmqSl1FqqwKD5n5yUy5Kf6pJYBnsgKn3TzesQ6JfQbyRLTh1Pn3odOYCnp+Ixbd0Tgn0n5m0KO3RX0hiwGoe0hObIZcsF36g==
template:
data: null
metadata:
creationTimestamp: null
name: secret-example
namespace: kube-system

可以將加密后的文件保存到 Gitlab。

創建加密文件:

$ k create -f sealed-secret-example.yaml
sealedsecret.bitnami.com/secret-example created
$ k get sealedsecrets.bitnami.com
NAME AGE
secret-example 6s

在創建完加密文件之后,Controller 會解密并生成對應的 secret:

$ k get secrets |grep secret-example
secret-example Opaque 1 2m15s

查看由 Controller 生成的 secret 資源內容,可以看到 data.secret 與上面創建的 secret-example.yaml 文件內容一致:

$ k get secret secret-example -oyaml
apiVersion: v1
data:
secret: bXlzdXBlcnNlY3JldAo=
kind: Secret
metadata:
creationTimestamp: "2022-06-10T00:50:40Z"
name: secret-example
namespace: kube-system
ownerReferences:
- apiVersion: bitnami.com/v1alpha1
controller: true
kind: SealedSecret
name: secret-example
uid: 57a5b691-9bb5-4dac-800a-1a1baa878299
resourceVersion: "675560"
uid: e0db31ad-082b-4596-9fd0-28cc810d86f4
type: Opaque
  • 注:SealedSecret 和對應的 secret 資源必須位于相同的命名空間

TIPs

  • kubeseal 支持如下API:


Route

Description

/healthz

Health check route useful for the readiness and liveness probes and for creating an external probe; for example with blackbox exporter.

/metrics

Endpoint for the Prometheus to retrieve the controller’s metrics.

/v1/verify

Validates a secret.

/v1/rotate

Rotates the secret.

/v1/cert.pem

Retrieves the public certificate.

  • 上例中 Controller 用的證書是自己生成的,還可以指定自己的證書,更方便遷移和管理
  • 使用 KubeSeal 可能會有一種困惑,如果用戶直接掛載其他命名空間的 secret,那么這樣可能會導致 secret 泄露。官方對此有作解釋,如可以通過 RBAC 限制用戶可以訪問的命名空間以及資源類型。更多參見README
責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2022-01-21 09:45:42

Mozilla SOKubernetesLinux

2020-07-08 08:03:37

KubernetesLens集群

2022-05-24 09:00:00

云計算Kubernetes安全

2020-09-09 07:00:00

Kubernetes集群容器

2022-08-14 20:48:41

KubernetesArgoCD

2021-12-03 11:06:01

VeleroKubernetesLinux

2019-12-24 09:39:06

Kubernetes工具微服務

2023-11-30 07:26:10

2021-07-01 11:29:45

KubernetesGrafana監控

2020-05-13 07:00:00

K9SKubernetes集群

2020-07-10 09:37:24

KubernetesK9s集群管理

2021-08-31 07:00:26

Kubernetes Clusternet開源

2021-08-08 11:05:48

Kubernetes加密容器

2023-03-30 09:17:42

KubesprayKubernetesLinux

2022-01-17 11:05:11

CFSSLKubernetesLinux

2021-02-07 08:00:00

Kubernetes集群云原生

2021-12-30 07:42:13

Kubernetes集群架構

2021-10-25 06:25:22

紅帽KubernetesOpenShift 4

2020-07-27 18:52:34

Kubernetes集群工具

2015-12-30 14:50:45

Kubernetes容器技術Docker
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色国产在线播放 | 中文日韩在线视频 | 久久午夜精品 | 狠狠伊人 | 丁香久久 | 日韩字幕一区 | 中文字幕1区2区3区 日韩在线视频免费观看 | 亚洲高清视频在线观看 | 男人亚洲天堂 | 欧美www在线观看 | 蜜桃精品噜噜噜成人av | 日本黄色影片在线观看 | 久久国产婷婷国产香蕉 | 91激情电影 | 亚洲91| 久久久久九九九女人毛片 | 国产一区二区三区高清 | 久久91精品久久久久久9鸭 | 国产精品777一区二区 | 国产视频二区 | 日本中文在线 | 亚洲视频国产视频 | 午夜精品一区二区三区在线观看 | 黄免费观看 | 人人亚洲 | 色一级| 中文字幕日韩av | 精品久久久久久久久久久 | 欧美精品成人一区二区三区四区 | 欧美成年人视频在线观看 | 国产精品视频一区二区三区 | 欧美一区2区三区4区公司 | 91精品国产色综合久久 | 久久久久久99 | 亚洲自拍一区在线观看 | 97碰碰碰 | 日韩精品一区二区三区 | 国产精品国产三级国产aⅴ原创 | 久久久久久成人 | 国产精品视频免费观看 | 久久久久国产 |