• K8S之使用yaml格式定义pod


    mysql-pod.yaml

    1. # overView:
    2. # 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测
    3. # 2. 补充重启策略/镜像拉去策略
    4. # 3. 对容器资源进行限制
    5. apiVersion: apps/v1
    6. kind: Pod
    7. metadata:
    8. name: pub-oa
    9. namespace: hunter
    10. labels:
    11. component: pub-oa
    12. spec:
    13. restartPolicy: onFailure # 设置重启策略,此外还有 Always, Never方式
    14. volumes:
    15. - name: mysql
    16. hostPath:
    17. path: /opt/mysql/data
    18. nodeSelector:
    19. component: prod-k8s-node1 # kubectl label node prod-k8s-node1 component=prod-k8s-node1
    20. containers:
    21. - name: pub-oa-db
    22. image: rigistry.cn-shanghai.aliyuncs.com/pub-oa-db:v1
    23. imagePullPolicy: IfNotPresent # 镜像拉去策略,此外还有Always, Never
    24. ports:
    25. - containerPort: 3306
    26. env:
    27. - name: MYSQL_USER
    28. valueFrom:
    29. secretKeyRef:
    30. name: pub-oa
    31. key: MYSQL_USER
    32. - name: MYSQL_PASSWORD
    33. valueFrom:
    34. secretKeyRef:
    35. name: pub-oa
    36. key: MYSQL_PASSWORD
    37. resources: # 容器资源限制
    38. requests:
    39. memory: 100Mi # 当pod内存超过100Mi时,会报OOM
    40. cpu: 50m # 当cpu超过limit限制时,不会被kill,但是会限制不超过limit值,1 CPU = 1000 millicpu(1 core = 1000m(毫核)),cpu资源是按 “时间片”的方式来分配的
    41. limits:
    42. memory: 500Mi
    43. cpu: 100m
    44. volumeMounts:
    45. - name: mysql
    46. mountPath: /var/lib/mysql

    web-pod.yaml

    1. # overView:
    2. # 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测
    3. # 2. 补充重启策略/镜像拉去策略
    4. # 3. 对容器资源进行限制
    5. apiVersion: apps/v1
    6. kind: Pod
    7. metadata:
    8. name: pub-oa
    9. namespace: hunter
    10. labels:
    11. component: pub-oa
    12. spec:
    13. restartPolicy: onFailure # 设置重启策略,此外还有 Always, Never方式
    14. nodeSelector:
    15. component: prod-k8s-node1 # kubectl label node prod-k8s-node1 component=prod-k8s-node1
    16. containers:
    17. - name: pub-oa-web
    18. image: rigistry.cn-shanghai.aliyuncs.com/pub-oa-app:v1
    19. imagePullPolicy: IfNotPresent # 镜像拉去策略,此外还有Always, Never
    20. ports:
    21. - containerPort: 8080
    22. env:
    23. - name: MYSQL_HOST
    24. valueFrom:
    25. secretKeyRef:
    26. name: pub-oa
    27. key: MYSQL_HOST
    28. - name: MYSQL_PORT
    29. valueFrom:
    30. secretKeyRef:
    31. name: pub-oa
    32. key: MYSQL_PORT
    33. - name: MYSQL_USER
    34. valueFrom:
    35. secretKeyRef:
    36. name: pub-oa
    37. key: MYSQL_USER
    38. - name: MYSQL_PASSWORD
    39. valueFrom:
    40. secretKeyRef:
    41. name: pub-oa
    42. key: MYSQL_PASSWORD
    43. livenessProbe: # 存活性探测
    44. httpGet: # 此外还有 exec,tcpSocket类型
    45. path: /code-library/listCodeLibrary
    46. port: 8080
    47. scheme: HTTP
    48. initialDelaySeconds: 10 # 容器启动后,第一次执行探测时需要等待多少秒
    49. periodSeconds: 10 # 执行探测的频率
    50. timeoutSeconds: 2 # 探测超时时间
    51. readinessProbe: # 可用性探测
    52. httpGet: # 此外还有 exec,tcpSocket类型
    53. path: /code-library/listCodeLibrary
    54. port: 8080
    55. scheme: HTTP
    56. initialDelaySeconds: 10 # 容器启动后,第一次执行探测时需要等待多少秒
    57. periodSeconds: 10 # 执行探测的频率
    58. timeoutSeconds: 2 # 探测超时时间
    59. resources: # 容器资源限制
    60. requests:
    61. memory: 100Mi # 当pod内存超过100Mi时,会报OOM
    62. cpu: 50m # 当cpu超过limit限制时,不会被kill,但是会限制不超过limit值,1 CPU = 1000 millicpu(1 core = 1000m(毫核)),cpu资源是按 “时间片”的方式来分配的
    63. limits:
    64. memory: 500Mi
    65. cpu: 100m
    66. volumeMounts:
    67. - name: mysql
    68. mountPath: /var/lib/mysql

    configMap.yaml

    1. apiVersion: v1
    2. kind: ConfigMap
    3. metadata:
    4. name: pub-oa
    5. namespace: hunter
    6. data:
    7. MYSQL_HOST: 192.168.179.141
    8. MYSQL_PORT: 3306

    sceret.yaml

    1. apiVersion: v1
    2. kind: Secret
    3. metadata:
    4. name: pub-oa
    5. namespace: hunter
    6. type: Opaque
    7. data:
    8. MYSQL_USER: cm9vdA== # 注意加-n参数,echo -n root|base64
    9. MYSQL_PASSWORD: aHVudGVy

  • 相关阅读:
    死锁Deadlock
    Shell逻辑判断、分支语句(带案例,Shell脚本学习笔记)
    数据分析 - CASE专题
    MAC glucuronide linker-1/MAC glucuronide linker-2蛋白降解酶
    GnosisSafe.sol 学习 (一)
    kafka安装与入门
    仅仅只是用脱虚向实或者脱实向虚来诠释和表达产业互联网是不全面的
    Docker安装RabbitMQ
    LeetCode加油站(贪心算法/暴力,分析其时间和空间复杂度)
    移远BG95的AT指令流程汇总
  • 原文地址:https://blog.csdn.net/qq_32944025/article/details/132739617