• 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

  • 相关阅读:
    一起Talk Android吧(第四百二十七回:在Android中使用MQTT通信一)
    前端常见面试题之react高级特性(Portals、Context、HOC等)
    2022最新iOS证书(.p12)、描述文件(.mobileprovision)申请和HBuider打包及注意注意事项
    网络安全问题
    xlwings 禁止提示 禁止 更新链接
    jsp简单实现新闻发布系统中用户注册确认和用户模拟登录功能的开发
    IronPDF for Java 2022.11.1 Crack
    ubuntu18.04 多版本opencv配置记录
    【无人机协同】基于matlab无人飞行器协同车辆物资配送【含Matlab源码 1899期】
    bzip2原理分享
  • 原文地址:https://blog.csdn.net/qq_32944025/article/details/132739617