部署jar至k8s服务器
部署jar至k8s服务器:1.首先docker pull java:8然后将jar放到Dockerfile同级目录vi Dockerfile#基础镜像,如果本地仓库没有,会从远程仓库拉取FROM openjdk:8-jdk-alpine#容器中创建目录RUN mkdir -p /usr/local/pasq#编译后的jar包copy到容器中创建到目录内COPY k8s...
·
部署jar至k8s服务器:
1.首先docker pull java:8
然后将jar放到Dockerfile同级目录
vi Dockerfile
#基础镜像,如果本地仓库没有,会从远程仓库拉取
FROM openjdk:8-jdk-alpine
#容器中创建目录
RUN mkdir -p /usr/local/pasq
#编译后的jar包copy到容器中创建到目录内
COPY k8s-0.0.1-SNAPSHOT.jar /usr/local/pasq/myapp.jar
#指定容器启动时要执行的命令
ENTRYPOINT ["java","-jar","/usr/local/pasq/myapp.jar"]
2
docker build -t myapp:1.0 .
3.注意worker节点也需要拉取镜像
docker login registry.cn-hangzhou.aliyuncs.com
docker login --username=username registry.cn-hangzhou.aliyuncs.com
username password
标记镜像:docker tag myapp:1.0 registry.cn-hangzhou.aliyuncs.com/xxxjohnson/myapp:1.0
推送镜像:docker push registry.cn-hangzhou.aliyuncs.com/xxxjohnson/myapp:1.0
拉取镜像:docker pull registry.cn-hangzhou.aliyuncs.com/xxxjohnson/myapp:1.0
4
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deploy
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: myapp
release: stabel
template:
metadata:
labels:
app: myapp
release: stabel
env: test
spec:
containers:
- name: myapp
#这里注意是命名空间+仓库名称
#注意:latest版本号,远程仓库不认,需要对应版本号为1.0
image: registry.cn-hangzhou.aliyuncs.com/yangsenjohnson/myapp:1.0
#本地有的话取本地,没有的话取远程仓库
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
kubectl apply -f svc-deployment.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp
namespace: default
spec:
type: NodePort
selector:
app: myapp
release: stabel
ports:
- name: http
port: 8080
targetPort: 8080
nodePort: 30080
kubectl apply -f svc-nodePort.yaml
查看pods情况:kubectl describe pod myapp-deploy-74f58c446b-ghhb7
成功部署:
更多推荐
所有评论(0)