记录java应用部署到k8s中
最近任务是把之前运行在docker里的自己写的java镜像部署到k8
s中,踩了一些坑,记录如下:
1.在写yaml文件时指定非shell命令而是一些命令行的时候要加上bash -c否则会报错:exec:“bash”:executable file not found in $PATH
2.如果要操作容器里/etc/hosts这样的文件,会报错: can’t move ‘/etc/resolv.conf73UqmG’ to ‘/etc/resolv.conf’: Device or resource busy,一定要记着操作方式,如果用sed命令会报错,因为sed命令会重新拷贝一份,具体参考:https://www.cnblogs.com/xuxinkun/p/7116737.html
最后通过bash -c的方式往hosts文件里加域名:(因为openjdk:8-jdk-alpine只有sh没有bash,所以使用sh)
apiVersion: apps/v1
kind: Deployment
metadata:name: java-data-storelabels:app: java-data-store
spec:replicas: 1selector:matchLabels:app: java-data-storetemplate:metadata:labels:app: java-data-storespec:containers:- name: java-data-storeimage: harbor:9501/library/openjdk:8-jdk-alpineimagePullPolicy: IfNotPresentports:- name: data-storecontainerPort: 40502command: ["java", "-jar","jars/data-store.jar"]lifecycle:postStart:exec:command: ["sh","-c","echo 'xx.xx.xx.xx xxxx' >> /etc/hosts"]env:volumeMounts:- name: jar-volmountPath: /jars- name: log-volmountPath: app/logsrestartPolicy: Alwaysvolumes:- name: jar-volglusterfs:endpoints: glusterfs-clusterpath: gv0/userapp/java-apps/jarsreadOnly: false- name: log-volglusterfs:endpoints: glusterfs-clusterpath: gv0/userapp/java-apps/logs/data-storereadOnly: false
---
apiVersion: v1
kind: Service
metadata:name: java-data-store
spec:selector:app: java-data-storeports:- port: 40502targetPort: 40502nodePort: 30203type: NodePort
记录java应用部署到k8s中相关推荐
- 解决无法将java项目部署到tomcat中去
project facets java转成web项目 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个Java工程,将无法在Tomcat中进行部署运行. 方法: 1. ...
- java服务端部署到k8s集群
首先java服务端部署到k8s中是通过git提交,那要准备好各种配置 1.先创建一个空的git文件 2.java服务端的jar包放到文件中 3.提交的文件必须包含java环境(这个环境就是引入自己打包 ...
- 部署Kubernetes(k8s)时,为什么要关闭swap、selinux、firewall 防火墙?
关于防火墙的原因(nftables后端兼容性问题,产生重复的防火墙规则) The ip tables tooling can act as a compatibility layer, behavi ...
- k8s部署jar包_学习K8S之路.6--- 在K8S中部署Jenkins,并使用Jenkins打包jar包
一:部署jenkins jenkins官网:https://jenkins.io/download/ jenkins镜像:https://hub.docker.com/r/jenkins/jenkin ...
- kubernetes(K8S)学习笔记P6:K8s集群|java项目部署
kubernetes(K8S)学习笔记P6:K8s集群|java项目部署 8.集群资源监控 8.1概述 8.2搭建集群监控平台系统 8.2.1部署prometheus 8.2.3部署Grafana 8 ...
- jenkins 使用pipline实现K8S中springboot服务部署
jenkins 使用pipline实现K8S中springboot服务部署 关键词 1. springboot 项目配置 1.1 配置 dockerfile-maven-plugin: 1.2 配置D ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
<Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...
- 【好文收藏】k8s中Pod 无法正常解析域名:部署 DNS 调试工具排查
k8s 中 Pod 无法正常解析域名:部署 DNS 调试工具排查 问题描述 最近将 Kubernetes 升级到 1.18.1 版本,不过升级完后,查看工作节点的部分 Pod 无法启动,查看消息全是 ...
最新文章
- 手动创建一棵二叉树,然后利用前序、中序、后序、层序进行遍历(从创建二叉树到各种方式遍历)(含运行结果)
- 半世纪全球顶级学者迁移图(附视频、亿级学术信息)| 数据院科技大数据研究中心发布
- Android获取顶部状态栏statusBar高度、底部导航栏navigationBar高度
- 封装成vla函数_第四章:Python之函数
- g4e基础篇#6 了解Git历史记录
- 关于单链表,二叉树,图,查找和排序的软件编程
- jsr 正则验证_Java数据校验(Bean Validation / JSR303)
- Gradle插件学习笔记(二)
- wireshark 十六进制过滤_Wireshark过滤表达式大全
- 网络协议:TCP/IP协议,你看懂了吗?
- QueryPerformanceFrequency使用方法--Windows高精度定时计数
- 哈哈哈,我来啦~~(纯灌水帖)
- python注释程序_Python程序里的注释和#号
- sql server需要存储1000万条数据该怎么办?
- Jepack4.5.1上手动安装cuda10.0 cudnn 7, Jepack4.5.1 TX2 i安装pytorch1.6.0
- (原创)安卓抓包方案分享
- 传输线理论知识理解与总结(一)
- 51单片机:编程实现数码管显示0~999999的秒表计时,高位的0不显示。
- 如何通过Spring的ApplicationListener事件注册服务
- erp框架 saas_Saas模式ERP系统
热门文章
- Java黑皮书课后题第4章:*4.26(金融应用:货币单位)重写程序清单2-10,解决将float型值转换为int型值时可能会造成精度损失的问题。读取的输入值是一个字符串,比如“11.56“
- Java黑皮书课后题第4章:*4.23(金融应用:酬金)编写一个程序,读取下面信息,然后输出一个酬金声明
- freebsd 手工安装zabbix2.0 php,zabbix 服务端,子客户端安装配置日志
- PPS2013校园招聘笔试题
- Spring Cloud与Duddo比较(非原创)
- vue中展示列表,类似formatter方法及在vue中点击页面信息事件
- vs2010 调试快捷键
- CONTEST199 [有奖]洛谷8月月赛题解
- 网站开发之鼠标悬停简单特效实现(四)
- 【数据结构与算法】之深入解析“太平洋大西洋水流问题”的求解思路与算法示例