K8S实战
01、K8s实战:Windows10安装Docker,配置阿里云加速器
02、K8s实战:基础知识之简介
03、K8s实战:基础知识之组件
04、K8s实战:Centos7.6yum安装Docker,配置阿里云加速器
05、K8s实战:Centos7.6安装dockercompose
06、K8s实战:Centos7.6使用Ansible安装K8S(测试单节点)
07、K8s实战:Dockercompose安装中文版GitLab,配置SSH免密登录
08、K8s实战:Centos7.6安装私服Harbor
09、K8s实战:SpringBoot使用jib打包Docker镜像至私服
10、K8s实战:dockercompose之网络设置
11、K8s实战:使用开源项目io.fabric8之docker
12、K8s实战:二进制方式搭建K8S集群(环境准备)
13、K8s实战:二进制方式搭建K8S集群(完结)
14、K8s实战:K8S管理平台Rancher安装及集群导入
15、K8s实战:陈述式管理之kubectl常用命令
16、K8s实战:声明式管理示例之K8S部署Nginx及修改删除
17、K8s实战:K8S存储Volume之ConfigMap
18、K8s实战:K8S存储Volume之Secret
19、K8s实战:K8S存储之emptyDir+hostPath
20、K8s实战:K8S存储之NFSPVPVC
21、K8s实战:K8S控制器之ReplicaSet
22、K8s实战:K8S控制器之Deployment
23、K8s实战:K8S控制器之DaemonSet
24、K8s实战:K8S控制器之JobCronJob
25、K8s实战:K8S之Service
26、K8s实战:K8S之Ingress
27、K8s实战:K8S之Schedule
28、K8s实战:K8S之Helm安装与配置
29、K8s实战:K8S之部署微服务项目实战
本文档使用 MrDoc 发布
-
+
首页
18、K8s实战:K8S存储Volume之Secret
### **概述** Secret可让您存储和管理敏感信息,例如密码,OAuth令牌和ssh密钥。与逐字记录在机密信息中相比,将机密信息存储在机密信息中更安全,更灵活。 ### **类型** 创建密钥时,可以使用 资源type字段Secret或某些等效的kubectl命令行标志(如果有)来指定其类型。 | 类型 | 说明 | | --- | --- | | Opaque | 任意用户定义的数据 | | kubernetes.io/service-account-token |服务帐户令牌 | | kubernetes.io/dockercfg | 序列化~/.dockercfg文件 | | kubernetes.io/dockerconfigjson | 序列化~/.docker/config.json文件 | | kubernetes.io/basic-auth | 基本身份验证凭证 | | kubernetes.io/ssh-auth | SSH身份验证的凭据 | | kubernetes.io/tls | TLS客户端或服务器的数据 | | bootstrap.kubernetes.io/token | 引导令牌数据 | ------------ ### **创建** 1、 通过字面值创建; ```python # 创建一个名为literral-secret的secret,username为admin,password为123456 kubectl create secret generic literral-secret --from-literal=username=admin --from-literal=password=123456 ``` 2、通过自定义文件创键,键为文件名,值为文件内容,一个文件对应一条键值对数据; ```python echo -n admin > ./username echo -n admin123 > ./password kubectl create secret generic file-secret --from-file=./username --from-file=./password ``` 3、通过env文件创建,文件内容以键值对形式存放; ```python cat << EOF > env.txt username=admin password=admin123 EOF kubectl create secret generic env-secret --from-env-file=env.txt ``` 4、使用yml文件创建; ```python # Base64编码admin123456,因为通过yml必须使用Base64对数据进行加密,实际只能说是编码.... echo -n 'admin123456' | base64 # 编码后的字符串 YWRtaW4xMjM0NTY= vim mysql-secret.yaml # 内容 apiVersion: v1 kind: Secret metadata: name: mysql-secret type: Opaque data: password: YWRtaW4xMjM0NTY= # kubectl create -f mysql-secret.yaml ``` ### **查看** ```python # 查看所有 kubectl get secret -n default # 根据名字查看 kubectl get secret mysql-secret # yaml格式展示完整信息 kubectl get secret mysql-secret -o yaml ``` ### **编辑** ```python # yaml文件修改 vim mysql-secret.yaml kubectl apply -f mysql-secret.yaml # 在线修改 kubectl edit secret mysql-secret ``` ### **删除** ```python # 根据yaml文件删除 kubectl delete -f mysql-secret.yaml # 根据名字删除 kubectl delete secret mysecret # 删除所有 kubectl delete secret --all ``` ### **案例** 部署mysql,配置root密码从Secret中获取 1、 先按照创建5步骤创建一个secret; 2、 创建mysqlPod; ```python vim mysql-pod.yaml # 内容 apiVersion: v1 kind: Pod metadata: labels: app: mysql name: mysql spec: restartPolicy: Never containers: - name: mysql-001 image: daocloud.io/library/mysql:5.7.4 imagePullPolicy: IfNotPresent ports: - containerPort: 3306 name: mysql-port env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-secret key: password # kubectl create -f mysql-pod.yaml ``` **验证** ```python # 进入容器 kubectl exec -it mysql /bin/bash # 使用secret配置的密码登录 mysql -uroot -padmin123456 ``` 
李智
2025年3月17日 13:28
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码