k8s 官方 配置文件使用教程

官网链接为 https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/#create-a-namespace

操作环境为minikube,需要提前执行下列操作启用metrics-server服务

minikube addons enable metrics-server

使用下列命令可以查看是否开启

kubectl get apiservices | grep metrics

大致流程,原理等需要参考https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/#create-a-namespace 下内容

# 下载一个redis的配置文件
 curl -OL https://k8s.io/examples/pods/config/redis-config

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   185  100   185    0     0     51      0  0:00:03  0:00:03 --:--:--    51
100    43  100    43    0     0     11      0  0:00:03  0:00:03 --:--:--   183
 ls
a.dockerfile a.tar        b.tar        redis-config server.js

# 使用kubectl create configmap命令创建一个configmap文件
 kubectl create configmap example-redis-config --from-file=redis-config
configmap "example-redis-config" created

# 将configmap文件输出为yaml
 kubectl get configmap example-redis-config -o yaml
apiVersion: v1
data:
  redis-config: 
    maxmemory 2mb
    maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
  creationTimestamp: 2019-03-19T08:51:28Z
  name: example-redis-config
  namespace: default
  resourceVersion: "34018"
  selfLink: /api/v1/namespaces/default/configmaps/example-redis-config
  uid: 2f58973b-4a24-11e9-b7b5-080027d6b830


# 根据redis-pod.yaml文件来创建一个pod
 kubectl create -f https://k8s.io/examples/pods/config/redis-pod.yaml
pod "redis" created

 kubectl get pods
NAME                                 READY     STATUS              RESTARTS   AGE
kubernetes-bootcamp-b4d449bd-vlnpd   1/1       Running             0          1h
redis                                0/1       ContainerCreating   0          36m

# redis-pod.yaml文件的内容如下,可以看到volumes下面的configMap就是来自于上面创建的configMap
# 而configMap来自于最早的redis-config

apiVersion: v1
kind: Pod
metadata:
  name: redis
spec:
  containers:
  - name: redis
    image: kubernetes/redis:v1
    env:
    - name: MASTER
      value: "true"
    ports:
    - containerPort: 6379
    resources:
      limits:
        cpu: "0.1"
    volumeMounts:
    - mountPath: /redis-master-data
      name: data
    - mountPath: /redis-master
      name: config
  volumes:
    - name: data
      emptyDir: {}
    - name: config
      configMap:
        name: example-redis-config
        items:
        - key: redis-config
          path: redis.conf
posted @   wswang  阅读(2635)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
历史上的今天:
2018-04-19 mysql load本地文件失败,提示access denied
点击右上角即可分享
微信分享提示