证监会:加强对拟上市公司投资的离职系统员工监管
06-17
在此插入图片说明 1. 环境介绍 1.1 本环境规划 本环境规划介绍了主机名 IP 地址 操作系统版本 k8s版本角色 k8s-master..3.centos7.6 v1.27.4master 节点 k8s-node2..3.centos7.6 v1.27.4worker 节点 k8s-node2..3.centos7.6 v1.27.4worker 节点 1.2 kubernetes 简介Kubernetes(简称“k8s”)是一个用于自动化部署、扩展和管理容器化应用程序的开源平台,Kubernetes 最初由 Google 设计和开源,旨在帮助开发人员更轻松地部署和管理应用程序,并更好地利用其优势。 Kubernetes 提供了一个可扩展的系统,用于自动化容器化应用程序和服务的部署、扩展和管理,还提供一致的部署、扩展和管理方法,使应用程序维护变得更加容易。
1.3 Kubernetes特性容器编排:Kubernetes提供了容器编排机制,可以自动将容器部署到集群中的节点并提供负载。平衡、缩放、自动恢复等功能。
自动化运维:Kubernetes提供了自动化运维机制,可以自动处理节点故障、容器故障、网络故障等,保证应用的高可用:Kubernetes。可扩展到数千个节点并支持多租户模式,适合云计算和企业应用。
兼容性:Kubernetes可以运行在多种云平台和操作系统上,并且支持多种容器运行时,例如Docker。 、CRI-O等 3.本次实践简介 2.本次实践简介 2.1本次实践简介 1.本次实践是在k8s环境下部署Flatnotes笔记工具; 2. 应用程序 flatnotes.yaml 文件中出现“部署”。
在版本“v1”中无法作为部署处理...”错误 2.2 错误场景 应用 flatnotes.yaml 文件时,出现以下错误。代码语言:shell复制[root@k8s-master flatnotes]# kubectl apply -f flatnotes.yamlnamespace/flatnotescreatedservice/my-flatnotescreatedError from server (BadRequest): 创建“flatnotes.yaml”时出错:版本“v1”中的部署无法处理为 Deployment: json: Cannot unmarshal number into Go struct field EnvVar.spec.template.spec.containers.env.value of type string 三、配置文件内容文件配置flatnotes.yaml内容如下:代码语言:yaml复制[root@k8s-master flatnotes]# cat flatnotes.yaml############################ 应用########## ############################################---api版本:v1kind:命名空间元数据:名称:flatnotes---apiVersion:apps/v1kind:Deploymentmetadata:标签:app:flatnotes名称:flatnotes命名空间:flatnotesspec:副本:2选择器:matchLabels:app:flatnotes模板:元数据:标签:app:flatnotes规范:卷: - 名称:数据主机路径:路径:/data/flatnotes/data/ initContainers: - 名称: 卷权限 图像: busybox:1.28 imagePullPolicy: IfNotPresent 命令: - sh - -c - chmod -R /data/flatnotes/data/ volumeMounts: - 名称: 数据 mountPath: /data/flatnotes/data/容器: - 图像:dullage/flatnotes:最新名称:my-flatnotes 端口: - 名称:网络协议:“TCP” 容器端口:env: - 名称:TZ 值:“亚洲/上海” - 名称:LATNOTES_AUTH_TYPE 值:密码 - 名称: FLATNOTES_USERNAME 值:admin - 名称:FLATNOTES_PASSWORD 值:admin - 名称:FLATNOTES_SECRET_KEY 值:Nl1rQmfg4gsnJfBfsmkXOo7G - 名称:PORT 值:资源:请求:cpu:0.1 内存:0.1G 限制:cpu:1 内存:0.5G 卷安装: - 名称:数据 mountPath:/data# - 名称:config# mountPath:/etc/config.json---apiVersion:v1kind:Servicemetadata:名称:my-flatnotes 命名空间:flatnotesspec:端口: - 名称: web 协议: TCP targetPort: port: nodePort: 0 选择器: app: flatnotes type: NodePort 4.错误分析 如果 Deployment 中使用了 env,并且 env 中的某些值为数字,则会抛出此错误。
此错误通常发生在 Kubernetes 部署中使用数字环境变量时,Kubernetes 中的所有环境变量必须是字符串类型。解决方法:在环境变量中添加引号或转义字符,以避免 Kubernetes 将它们解释为数字类型,例如更改为“”或更改为 \。
代码语言:yaml copy apiVersion:apps / v1kind:Deploymentmetadata:名称:my-deploymentspec:replicas:3选择器:matchLabels:app:my-app模板:元数据:标签:app:my-app规范:容器:-名称:my -容器图像:my-image 环境:-名称:MY_VAR 值:“”5。处理错误报告 在 env 变量部分的数字上添加双引号并将其转换为字符串。
此处插入图片描述 6. 验证 6.1 修改部署文件 修改 flatnotes.yaml 文件 代码语言:yaml copy######################## ## Aplication## ##################################################- --apiVersion: v1kind: Namespacemetadata: name: flatnotes---apiVersion: apps/v1kind: Deploymentmetadata: labels: app: flatnotes name: flatnotes 命名空间: flatnotesspec:副本: 2 选择器: matchLabels: app: flatnotes 模板: 元数据: 标签: app: flatnotes 规范: 卷: - 名称: 数据 hostPath: 路径: /data/flatnotes/data/ initContainers: - 名称: 卷权限 图像: busybox:1.28 imagePullPolicy: IfNotPresent 命令: - sh - -c - chmod -R /数据/Flatnotes/data/ VolumeMounts: - 名称:数据安装路径:/data/Flatnotes/data/ 容器: - 图像:dullage/Flatnotes:最新名称:my-Flatnotes 端口: - 名称:Web 原型col:“TCP”containerPort:env:-名称:TZ值:“亚洲/上海”-名称:LATNOTES_AUTH_TYPE值:密码-名称:FLATNOTES_USERNAME值:admin-名称:FLATNOTES_PASSWORD值:admin-名称:FLATNOTES_SECRET_KEY值:Nl1rQmfg4gsnJfBfsmkXOo7G-名称:端口值:“”资源:请求:cpu:0.1内存:0.1G限制:cpu:1内存:0.5GvolumeMounts:-名称:数据挂载路径:/data#-名称:config#挂载路径:/etc/config.json ---apiVersion: v1kind: Servicemetadata: name: my-flatnotes namespace: flatnotesspec: ports: - name: web protocol: TCP targetPort: port: nodePort: 0 选择器: app: flatnotes type: NodePort6.2 部署应用使用正确的flatnotes .yaml文件,执行成功代码语言:shell copy [root@k8s-master flatnotes]# kubectl apply -f flatnotes.yamlnamespace/flatnotes returneddeployment.apps/flatnotescreatedservice/my-flatnotesunknown6.3 查看应用的 pod 状态。检查Flatnotes各个资源对象的状态。
均处于正常状态,问题已成功解决。检查 pod 状态代码语言:shell copy [root@k8s-master flatnotes]# kubectl get pods -n flatnotesNAME READY STATUS RESTARTS AGEflatnotes-7fb4bc-5wb8v 1/1 Running 0 2m34sflatnotes-7fb4bc-r5v6b 1/1 Running 0 2m34s 检查部署状态代码语言:shell copy [root@k8s-master flatnotes]# kubectl get deployments.apps -n flatnotes -owideNAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTORflatnotes 2/2 2 2 3m13s my-flatnotes dullage/flatnotes:latest app =flatnotes 检查服务状态代码语言:shell copy [root@k8s-master flatnotes]# kubectl get service -n flatnotesNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEmy-flatnotes NodePort 10...57
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-21
06-21
06-18
06-17
06-17
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用