k8s配置资源管理

这篇具有很好参考价值的文章主要介绍了k8s配置资源管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

k8s配置资源管理:

Secret

Configmap

Secret:保存密码,token,敏感的k8s资源

这类数据可以存放在镜像当中,但是防止secret当中可以更方便控制,减少暴露的风险

保存加密的信息

Secret的类型:

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

四种类型:

Docker-registry:存储docker仓库认证信息,以及docker组件认证成功(私有)

Generic:是secret的默认模式,opaque base64加密编码的secret用户自定义的密码,密钥等等

Tls: tls/SSL用于存储证书和私钥,https

系统自建的kubenetes.io/server-account-token用来访问系统的apiVersion,pod会使用kubenetes.io/server-account-token创建的secret和apiversion通信,自动挂载到pod的/run/secret/kubenetes.io/serveraccount

三种使用方式:

  1. 挂载的方式,secret挂载到pod当中一个或多个容器上的卷里面
  2. 把secret作为容器的环境变量
  3. Docker-register可以作为集群拉取镜像时使用,使用secret可以实现免密登录

演示挂载方式:

陈述式创建:

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

声明试创建:

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

Date里面保存的是加密的核心信息,到了容器内部可以直接引用,解密状态

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

再举一例:

加密

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

查看详情

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

陈述式演示:

k8s配置资源管理,docker,容器,运维

将刚刚创建的pod

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

apiVersion: v1

kind: Pod

metadata:

  name: mypod

spec:

  containers:

  - name: nginx

    image: nginx:1.22

    volumeMounts:

    - name: secrets

      mountPath: "/etc/secrets"

      readOnly: false

  volumes:

  - name: secrets

    secret:

      secretName: mysecret2

去容器内验证:

k8s配置资源管理,docker,容器,运维

演示把secret作为容器的环境变量

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

演示Docker-register可以作为集群拉取镜像时使用,使用secret可以实现免密登录

kubectl create secret docker-registry myharbor --docker-server=20.0.0.74 --docker-username=admin --docker-password=123456

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

apiVersion: v1

kind: Pod

metadata:

  name: mypod2

spec:

  containers:

  - name: nginx1

    image: hub.test.com/library/nginx:v1

  imagePullSecrets:

  - name: myharbor

退出登录,方便演示

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

指定节点

apiVersion: v1

kind: Pod

metadata:

  name: mypod3

spec:

  containers:

  - name: nginx1

    image: hub.test.com/library/nginx:v1

  imagePullSecrets:

  - name: myharbor

  nodeName: master01          

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

总结secret的三种方式:

创建可以时陈述式创建和声明试创建

引用方式:

挂载使用

设定环境变量

Docker-register

ConfigMap:(重要)

保存的是不需要加密的信息,configMap是1.2引入的功能,应用程序会从配置文件,命令参数,以及环境变量当中读取配置信息

Configmap在创建容器中,给他注入我们需要的配置信息,既可以是单个的属性也可以是整个容器的配置文件

创建方式:陈述式和声明式

k8s配置资源管理,docker,容器,运维

kubectl create configmap game --from-file=/opt/configmap/wang.txt --from-file=/opt/configmap/zhao.txt

k8s配置资源管理,docker,容器,运维

从指定文件创建,可以是一个文件,还可以是多个文件

k8s配置资源管理,docker,容器,运维

使用字面值创建

k8s配置资源管理,docker,容器,运维

信息不再是加密的

k8s配置资源管理,docker,容器,运维

演示声明式:

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

创建已完成,如何使用;

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

apiVersion: v1

kind: Pod

metadata:

  name: mypod5

spec:

  containers:

  - name: nginx

    image: nginx:1.22

    env:

      - name: USER

        valueFrom:

          configKeyRef:

            name: game5

            key: wdf

      - name: UESR1

        valueFrom:

          configKeyRef:

            name: game5

            key: kb

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

数据卷使用configmap(必问)

1.我们通过数据卷的形式,把配置文件传给了pod内部容器

2.Configmap的热更新,热更新是不会重启的,在pod运行的情况下,对configmap的部署进行修改,直接生效(反应到容器当中)

3.Configmap的热更新不会触发pod的滚动更新机制(deployment)

4.Version/configmap来触发滚动更新

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

worker_processes  2;

events {

    worker_connections  1024;

}

http {

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       8081;

        server_name  localhost;

        charset utf-8;

        location / {

            root   html;

            index  index.html index.php;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

}

}

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

kind: Deployment

metadata:

  name: nginx1

  labels:

    app: nginx1

spec:

  replicas: 3

  selector:

    matchLabels:

      app: nginx1

  template:

    metadata:

      labels:

        app: nginx1

    spec:

      containers:

      - name: nginx1

        image: nginx:1.22

        ports:

        - containerPort: 8081

        volumeMounts:

          - name: nginx-config

            mountPath: /etc/nginx

          - name: nginx-mount

            mountPath: /usr/share/nginx/html

      volumes:

      - name: nginx-config

        configMap:

          name: nginx-con

      - name: nginx-mount

        hostPath:

          path: /opt/html

          type: DirectoryOrCreate

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

1.我们通过数据卷的形式,把配置文件传给了pod内部容器

2.Configmap的热更新,热更新是不会重启的,在pod运行的情况下,对configmap的部署进行修改,直接生效(反应到容器当中)

3.Configmap的热更新不会触发pod的滚动更新机制(deployment)

4.Version/configmap来触发滚动更新

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

显示还是404,配置文件没有重启

k8s配置资源管理,docker,容器,运维

kubectl patch deployments.apps nginx1 --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20240116"}}}}}'

k8s配置资源管理,docker,容器,运维

k8s配置资源管理,docker,容器,运维

总结:

Secret:主要保存加密文件,主要使用方式就是挂载方式

Configmap:把配置文件传送给容器,主要方式也是挂载方式

Configmap的热更新:热更新可以直接反应到容器的内部,也不会触发pod的更新机制,如果不是需要重启的配置,都可以直接生效

Version/configmap来触发滚动更新

kubectl patch deployments.apps nginx1 --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20240116"}}}}}'

需要重启时,可以重启pod

更新:就是把配置信息传送给容器内,重启也是一样

Configmap:就是把配置信息传送给容器,键值对形式保存的,非加密的信息文章来源地址https://www.toymoban.com/news/detail-810857.html

到了这里,关于k8s配置资源管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kubernetes/k8s配置资源管理

    配置资源管理 Secret Configmap*.1.2加入新特征 1.18 Secret:保存密码,token,敏感的k8s资源 这类数据可以存放在镜像当中,但是防止secret可以更方便的控制,减少暴漏风险。 保存加密的信息 Secret的类型: docker-registry:存储docker仓库认证信息,以及docker组件的认证信息(私有的) generic:是

    2024年01月17日
    浏览(53)
  • [云原生] k8s配置资源管理

    1.1 Secret配置的相关说明  Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险。 Secret 有三种类型:  ●kubernetes.io/service-account-token:由 Kubernetes 自动创

    2024年03月13日
    浏览(52)
  • 【云原生】k8s配置资源管理

    Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险 Secret 有三种类型:  ● kubernetes.io/service-account-token :由 Kubernetes 自动创建,用来访问 APIServer 的

    2024年02月13日
    浏览(51)
  • 云原生Kubernetes:K8S配置资源管理

    目录 一、理论 1.Secret 2.Secret创建 3.Secret使用 4.Configmap 5.Configmap创建 6.Configmap使用 二、实验 1.Secret创建 2.Secret使用 3.Configmap创建 4.Configmap使用 三、问题 1.变量引用生成资源报错 2.查看pod日志失败 3.创建configmap报错 4.YAML创建configmap报错 5. 生成资源报错 6.文件挂载pod报错Error 四

    2024年02月07日
    浏览(68)
  • K8S:配置资源管理 Secret和configMap

    (1)Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 secret 中是为了更方便的控制如何使用数据,并减少暴露的风险 (2)类似挂载的方式,使用的时候调用即可 ①kubernetes.io/service-account-token 由Kubernetes自动创建

    2024年02月03日
    浏览(59)
  • K8S资源管理之计算资源管理

            以CPU为例,下图显示了未设置Limits与设置了Requests和Limits的CPU使用率的区别        尽管Requests和Limits只能被设置到容器上,但是设置了Pod级别的Requests和Limits能大大提高管理Pod的便利性和灵活性,因此在Kubernetes中提供了对Pod级别的Requests和Limits的配置。对于CP

    2024年04月15日
    浏览(57)
  • K8S资源管理方式

    1.基础命令操作 2.创建pod 3.查看资源状态 4.查看pod中的容器日志 5.进入pod中的容器 6.删除pod资源 7.pod扩容 8.项目生命周期管理(创建–发布–更新–回滚–删除) 8.1创建service service类型 service端口 8.2发布 8.3更新 8.4回滚 8.5删除 如何获取资源配置清单文件模板(yaml配置文件)

    2024年02月13日
    浏览(52)
  • K8s-资源管理(二)

    2. 资源管理 2.1 资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。 kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个的容器,并将指定的程序跑在容器中

    2024年02月15日
    浏览(42)
  • k8s常用资源管理

    目录 Pod(容器组):Pod是Kubernetes中最小的部署单元,可以包含一个或多个容器。Pod提供了一种逻辑上的封装,使得容器可以一起共享网络和存储资源 1、创建一个pod 2、pod管理 pod操作 目录 创建Pod会很慢 Pod(容器组):Pod是Kubernetes中最小的部署单元,可以包含一个或多个容

    2024年02月13日
    浏览(39)
  • k8s 资源管理方式

    k8s中资源管理方式可以划分为下面的几种:命令式对象管理、命令式对象配置、声明式对象配置。 命令式对象管理 命令式对象管理:直接使用命令的方式来操作k8s资源, 这种方式操作简单,但是无法审计和追踪。 命令式对象配置 通过命令和配置文件来操作k8s资源,这种方式

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包