国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux高級(jí)---configmap和secret

這篇具有很好參考價(jià)值的文章主要介紹了Linux高級(jí)---configmap和secret。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、ConfigMap

Linux高級(jí)---configmap和secret

1、介紹

ConfigMap 是一種 API 對(duì)象,用來(lái)將非機(jī)密性的數(shù)據(jù)保存到鍵值對(duì)中。使用時(shí), Pods 可以將其用作環(huán)境變量、命令行參數(shù)或者存儲(chǔ)卷中的配置文件。

ConfigMap 將你的環(huán)境配置信息和 容器鏡像 解耦,便于應(yīng)用配置的修改。

注意:

ConfigMap 并不提供保密或者加密功能。 如果你想存儲(chǔ)的數(shù)據(jù)是機(jī)密的,請(qǐng)使用 Secret, 或者使用其他第三方工具來(lái)保證你的數(shù)據(jù)的私密性,而不是用 ConfigMap。

使用

你可以使用四種方式來(lái)使用 ConfigMap 配置 Pod 中的容器:

  1. 在容器命令和參數(shù)內(nèi)
  2. 容器的環(huán)境變量
  3. 在只讀卷里面添加一個(gè)文件,讓?xiě)?yīng)用來(lái)讀取
  4. 編寫(xiě)代碼在 Pod 中運(yùn)行,使用 Kubernetes API 來(lái)讀取 ConfigMap

這些不同的方法適用于不同的數(shù)據(jù)使用方式。 對(duì)前三個(gè)方法,kubelet 使用 ConfigMap 中的數(shù)據(jù)在 Pod 中啟動(dòng)容器。第四種方法意味著你必須編寫(xiě)代碼才能讀取 ConfigMap 和它的數(shù)據(jù)。

2、創(chuàng)建configmap

[root@master demo]# vi configMap.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
        name: test-config
    data:
        username: zhangsan
        password: yuanke
        username: lisi

[root@master demo]# kubectl create -f configMap.yaml
configmap/test-config created
[root@master demo]# vi configMap.yaml
[root@master demo]# kubectl get configMaps
NAME          DATA   AGE
test-config   2      45s
[root@master demo]# kubectl describe configmaps test-config
Name:         test-config
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
password:
----
yuanke
username:
----
lisi
Events:  <none>

3、使用configmap

vim test-configMap-env-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test-configmap-env-pod
spec:
  containers:
     - name: test-container
       image: radial/busyboxplus
       imagePullPolicy: IfNotPresent
       command: ["/bin/sh","-c","sleep 1000000"]
       envFrom:
       - configMapRef:
            name: test-config
[root@master demo]# kubectl create -f test-configMap-env-pod.yaml
pod/test-configmap-env-pod created
[root@master demo]# kubectl get pod
NAME                                  READY   STATUS      RESTARTS   AGE
test-configmap-env-pod                1/1     Running     0          42s
[root@master demo]# kubectl exec -it test-configmap-env-pod -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=test-configmap-env-pod
TERM=xterm
username=lisi
password=yuanke

4、引入環(huán)境變量的另一種方式

apiVersion: v1
kind: Pod
metadata:
  name: test-configmap-env-pod
spec:
  containers:
     - name: test-container
       image: radial/busyboxplus
       imagePullPolicy: IfNotPresent
       command: ["/bin/sh","-c","echo ${MYSQLUSER} ${MYSQLPASSWD};sleep 1000000"]
       env:
       - name: MYSQLUSER
         valueFrom:
            configMapKeyRef:
               name: test-config
               key: username
       - name: MYSQLPASSWD
         valueFrom:
            configMapKeyRef:
               name: test-config
               key: password
[root@master demo]# kubectl create -f test-configMap-env-pod.yaml
pod/test-configmap-env-pod created
[root@master demo]# kubectl get pod
NAME                                  READY   STATUS      RESTARTS   AGE
test-configmap-env-pod                1/1     Running     0          5s
[root@master demo]# kubectl exec -it test-configmap-env-pod -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=test-configmap-env-pod
TERM=xterm
MYSQLUSER=lisi
MYSQLPASSWD=yuanke

二、Secret

1、介紹

Secret 是一種包含少量敏感信息例如密碼、令牌或密鑰的對(duì)象。 這樣的信息可能會(huì)被放在 Pod 規(guī)約中或者鏡像中。 使用 Secret 意味著你不需要在應(yīng)用程序代碼中包含機(jī)密數(shù)據(jù)。

由于創(chuàng)建 Secret 可以獨(dú)立于使用它們的 Pod, 因此在創(chuàng)建、查看和編輯 Pod 的工作流程中暴露 Secret(及其數(shù)據(jù))的風(fēng)險(xiǎn)較小。 Kubernetes 和在集群中運(yùn)行的應(yīng)用程序也可以對(duì) Secret 采取額外的預(yù)防措施, 例如避免將機(jī)密數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)。

Secret 類(lèi)似于 ConfigMap 但專(zhuān)門(mén)用于保存機(jī)密數(shù)據(jù)。

注意:

默認(rèn)情況下,Kubernetes Secret 未加密地存儲(chǔ)在 API 服務(wù)器的底層數(shù)據(jù)存儲(chǔ)(etcd)中。 任何擁有 API 訪(fǎng)問(wèn)權(quán)限的人都可以檢索或修改 Secret,任何有權(quán)訪(fǎng)問(wèn) etcd 的人也可以。 此外,任何有權(quán)限在命名空間中創(chuàng)建 Pod 的人都可以使用該訪(fǎng)問(wèn)權(quán)限讀取該命名空間中的任何 Secret; 這包括間接訪(fǎng)問(wèn),例如創(chuàng)建 Deployment 的能力。

為了安全地使用 Secret,請(qǐng)至少執(zhí)行以下步驟:

  1. 為 Secret 啟用靜態(tài)加密。
  2. 以最小特權(quán)訪(fǎng)問(wèn) Secret 并啟用或配置 RBAC 規(guī)則。
  3. 限制 Secret 對(duì)特定容器的訪(fǎng)問(wèn)。
  4. 考慮使用外部 Secret 存儲(chǔ)驅(qū)動(dòng)。

Secret 的使用

Pod 可以用三種方式之一來(lái)使用 Secret:

  • 作為掛載到一個(gè)或多個(gè)容器上的卷 中的文件。
  • 作為容器的環(huán)境變量。
  • 由 kubelet 在為 Pod 拉取鏡像時(shí)使用。

2、創(chuàng)建secret

您也可以先以 json 或 yaml 格式在文件中創(chuàng)建一個(gè) secret 對(duì)象,然后創(chuàng)建該對(duì)象。

每一項(xiàng)必須是 base64 編碼:

$ echo -n "admin" | base64
YWRtaW4=
$ echo -n "1f2d1e2e67df" | base64
MWYyZDFlMmU2N2Rm

解密:

echo 'YWRtaW4=' | base64 --decode
返回admin

vim secret-env.yaml

apiVersion: v1
kind: Secret
metadata:
  name: mysecret-env
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm
[root@master demo]# kubectl create -f secret-env.yaml
secret/mysecret-env created
[root@master demo]# kubectl get secrets
NAME                  TYPE                                  DATA   AGE
default-token-mp2h9   kubernetes.io/service-account-token   3      21d
mysecret-env          Opaque                                2      10s
tls-secret            kubernetes.io/tls                     2      23h

3、使用secret

vim secret-pod-env1.yaml

apiVersion: v1
kind: Pod
metadata:
  name: envfrom-secret
spec:
  containers:
     - name: test-nginx
       image: nginx
       envFrom:
       - secretRef:
            name: mysecret-env
[root@master secret]# kubectl apply -f secret-pod-env1.yaml 
pod/envfrom-secret created
[root@master secret]# kubectl get pod 
NAME                                READY   STATUS    RESTARTS   AGE
envfrom-secret                      1/1     Running   0          16s
[root@master secret]# kubectl exec -it envfrom-secret -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=envfrom-secret
TERM=xterm
password=1f2d1e2e67df
username=admin

4、引入環(huán)境變量的另一種方式

vim secret-pod-env2.yaml文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-461830.html

apiVersion: v1
kind: Pod
metadata:
  name: test-secret-env-pod
spec:
  containers:
     - name: test-container
       image: radial/busyboxplus
       imagePullPolicy: IfNotPresent
       command: ["/bin/sh","-c","echo ${MYSQLUSER} ${MYSQLPASSWD};sleep 1000000"]
       env:
       - name: MYSQLUSER
         valueFrom:
            secretKeyRef:
               name: mysecret-env
               key: username
       - name: MYSQLPASSWD
         valueFrom:
            secretKeyRef:
               name: mysecret-env
               key: password
[root@master secret]# kubectl apply -f secret-pod-env2.yaml 
pod/test-secret-env-pod created
[root@master secret]# kubectl get pod
NAME                                READY   STATUS    RESTARTS   AGE
test-secret-env-pod                 1/1     Running   0          5s
[root@master secret]# kubectl exec -it test-secret-env-pod -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=test-secret-env-pod
TERM=xterm
MYSQLUSER=admin
MYSQLPASSWD=1f2d1e2e67df

到了這里,關(guān)于Linux高級(jí)---configmap和secret的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • K8S初級(jí)入門(mén)系列之四-Namespace/ConfigMap/Secret

    K8S初級(jí)入門(mén)系列之四-Namespace/ConfigMap/Secret

    ? ? ?本章節(jié)我們繼續(xù)學(xué)習(xí)Namespace、ConfigMap、Secret基礎(chǔ)概念,了解他們基本用法和操作。NameSpace為命名空間,在同一集群中試下資源隔離。ConfigMap通過(guò)key-value的方式實(shí)現(xiàn)明文配置數(shù)據(jù)的保存,Secret與ConfigMap類(lèi)似,不過(guò)是采用密文方式保存。 ? ? ?K8S集群可以通過(guò)Namespace創(chuàng)建多

    2024年02月15日
    瀏覽(31)
  • 輕松掌握K8S使用kubectl操作配置文件掛載ConfigMap和密鑰Secret知識(shí)點(diǎn)05

    輕松掌握K8S使用kubectl操作配置文件掛載ConfigMap和密鑰Secret知識(shí)點(diǎn)05

    1、掛載應(yīng)用配置文件配置集ConfigMap 當(dāng)有許多應(yīng)用如redis、mysql,希望將它的配置文件掛載出去,以便隨時(shí)修改,可以用ConfigMap配置集 具體用法查看使用命令行操作里的 3、ConfigMap配置集實(shí)戰(zhàn) 2、掛載應(yīng)用配置文件的敏感信息Secret Secret 對(duì)象類(lèi)型用來(lái)保存敏感信息,例如使用ya

    2024年02月16日
    瀏覽(26)
  • kubernetes存儲(chǔ)-configmap

    kubernetes存儲(chǔ)-configmap

    目錄 一、字面值創(chuàng)建 二、通過(guò)文件創(chuàng)建 三、通過(guò)目錄創(chuàng)建 四、通過(guò)yaml文件創(chuàng)建 五、使用configmap設(shè)置環(huán)境變量 六、使用conigmap設(shè)置命令行參數(shù) 七、通過(guò)數(shù)據(jù)卷使用configmap 八、configmap熱更新 ? ? ? 在Kubernetes中,ConfigMap是一種存儲(chǔ)配置數(shù)據(jù)的對(duì)象。它允許將配置數(shù)據(jù)分離出來(lái)

    2024年02月06日
    瀏覽(23)
  • Kubernetes配置管理 ConfigMap

    Kubernetes配置管理 ConfigMap

    kubernetes集群可以使用ConfigMap來(lái)實(shí)現(xiàn)對(duì)容器中應(yīng)用的配置管理 。 可以把ConfigMap看作是一個(gè)掛載到pod中的存儲(chǔ)卷 1.2.1 在命令行指定參數(shù)創(chuàng)建 通過(guò)直接在命令行中指定configmap參數(shù)創(chuàng)建,即 --from-literal=key=value ; 1.2.2 在命令行通過(guò)多個(gè)文件創(chuàng)建 通過(guò)指定文件創(chuàng)建,即將一個(gè)配置文

    2024年02月09日
    瀏覽(26)
  • 8、Kubernetes核心技術(shù) - ConfigMap

    目錄 一、ConfigMap概述 二、ConfigMap創(chuàng)建 2.1、命令行方式創(chuàng)建 2.2、yaml 文件方式創(chuàng)建 三、ConfigMap查詢(xún) 四、ConfigMap更新 4.1、kubectl edit方式 4.2、kubectl apply方式 五、ConfigMap使用 5.1、spec.env 【環(huán)境變量】 5.2、spec.envFrom 【環(huán)境變量】 5.3、指定 items【卷掛載方式】 5.4、不指定 items【

    2024年02月14日
    瀏覽(22)
  • 【云原生】Kubernetes之ConfigMap

    ConfigMap 是一種 API 對(duì)象,用來(lái)將非機(jī)密性的數(shù)據(jù)保存到鍵值對(duì)中。使用時(shí), Pods 可以將其用作環(huán)境變量、命令行參數(shù)或者存儲(chǔ)卷中的配置文件 ConfigMap 將你的環(huán)境配置信息和 容器鏡像 解耦,便于應(yīng)用配置的修改 使用 ConfigMap 來(lái)將你的配置數(shù)據(jù)和應(yīng)用程序代碼分開(kāi) 比如,假設(shè)

    2024年02月15日
    瀏覽(25)
  • k8s configmap 詳解

    ConfigMap是k8s的一個(gè) 配置管理組件 ,可以將配置以key-value的形式傳遞,通常用來(lái) 保存不需要加密的配置信息 ,加密信息則需用到Secret,主要用來(lái)應(yīng)對(duì)以下場(chǎng)景: 生成為容器內(nèi)的環(huán)境變量; 設(shè)置容器啟動(dòng)命令的啟動(dòng)參數(shù)(需設(shè)置為環(huán)境變量) 以Volume的形式掛載為容器內(nèi)部的文

    2024年02月09日
    瀏覽(18)
  • 【云原生|Kubernetes】11-ConfigMap解析

    ConfigMap 是一種 API 對(duì)象,用來(lái)將非機(jī)密性的數(shù)據(jù)保存到鍵值對(duì)中。使用時(shí), Pods 可以將其用作環(huán)境變量、命令行參數(shù)或者存儲(chǔ)卷中的配置文件。 ConfigMap 將你的環(huán)境配置信息和 容器鏡像 解耦,便于應(yīng)用配置的修改。 ConfigMap 并不提供保密或者加密功能。 如果你想存儲(chǔ)的數(shù)據(jù)是

    2024年02月12日
    瀏覽(52)
  • k8s概念-ConfigMap

    回到目錄 一般用于去存儲(chǔ) Pod 中應(yīng)用所需的一些配置信息,或者環(huán)境變量,將配置于 Pod 分開(kāi),避免應(yīng)為修改配置導(dǎo)致還需要重新構(gòu)建 鏡像與容器。 1 創(chuàng)建ConfigMap 1.1?將指定目錄下所有文件加載到配置文件中 1.2?指定一個(gè)或多個(gè)文件和key 1.3?命令上手動(dòng)添加key-value 2?configma

    2024年02月14日
    瀏覽(24)
  • Kubernetes (十) 存儲(chǔ)——Configmap配置管理

    Kubernetes (十) 存儲(chǔ)——Configmap配置管理

    一.Configmap作用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? 實(shí)驗(yàn)環(huán)境:清除之前的ns pod svc networkpolicy......? ? ? ? ? ? ? ? ??? ? kubectl delete -f networkpolicy.yaml ? ? ? ? ? ? ? ??? ?kubectl delete svc myapp-v1 ? ? ? ?

    2024年01月22日
    瀏覽(45)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包