K8s 배치 docker 화 자바 응용
7359 단어 자바
Docker
다음은 SpringBoot 프로젝트 를 예 로 들 면
> mt-myservice
> .idea
> .mvn
> src
> main
> docker
Dockerfile // Dockerfile( ) docker
> java
> com.my
> controller // web ,controller
> service //
MyserviceApplication // springBoot
> resources
application.properties // springBoot ,tomcat
#
FROM java:8
VOLUME /tmp
# jar app.jar
ADD myservice-0.0.1-SNAPSHOT.jar app.jar
# , -Djava.security.egd=file:/dev/./urando ,urandom
# 1000M
ENTRYPOINT ["java","-Xmx1000m","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
0.2.3
demo/${project.artifactId}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
4.567917.tomcat 포트 번 호 를 지정 하고 springboot 를 예 로 들 어 classpath 경로 에서 application.properties 파일 을 수정 합 니 다.내용:4.567913.4.567918.
docker images(로 컬 미 러 보기)
docker push/(미 러 를 원 격 창고 로 전송)
일반적인 질문:
server.port=
이미지 업그레이드 시 deployment 를 수정 해 야 합 니 다.요청 방식 은 patch 입 니 다.
service :
api:/api/v1/namespaces/{mynamespace}/services/
:post
{
"metadata":{
"name":"myservice",
"namespace":"mynamespace",
"labels":{
"app":"myservice"
}
},
"apiVersion":"v1",
"kind":"Service",
"spec":{
"selector":{
"app":"myservice"
},
"ports":[
{
"protocol":"TCP",
"port":80,
"targetPort":8080
}
],
"clusterIP":"None"
}
}
:targetPort 。
Ingress ( nginx):
api:/apis/extensions/v1beta1/namespaces/{mynamesapce}/ingresses/
:post
{
"metadata":{
"name":"myservice",
"namespace":"mynamesapce"
},
"apiVersion":"extensions/v1beta1",
"kind":"Ingress",
"spec":{
"rules":[
{
"host":"myservice.mtdata.bach.com",
"http":{
"paths":[
{
"path":"/",
"backend":{
"servicePort":80,
"serviceName":"myservice"
}
}
]
}
}
]
}
}
deployment, Deployment Pod ReplicaSet
api:/apis/extensions/v1beta1/namespaces/{mynamespace}/deployments/
:post
{
"metadata":{
"name":"myservice",
"namespace":"mynamespace"
},
"apiVersion":"extensions/v1beta1",
"kind":"Deployment",
"spec":{
"template":{
"metadata":{
"labels":{
"app":"myservice"
}
},
"spec":{
"hostNetwork":false,
"containers":[
{
"image":"docker : ",
"imagePullPolicy":"Always",
"name":"subtitle",
"resources":{
"requests":{
"memory":"1024Mi",
"cpu":4
},
"limits":{
"memory":"2048Mi", //
"cpu":4 //cpu
}
},
"readinessProbe":{
"tcpSocket":{
"port":8080
},
"periodSeconds":10,
"initialDelaySeconds":20
}
}
],
"affinity":{
"nodeAffinity":{
"requiredDuringSchedulingIgnoredDuringExecution":{
"nodeSelectorTerms":[
{
"matchExpressions":[
{
"key":"gpu",
"operator":"DoesNotExist"
}
]
}
]
}
}
}
}
},
"replicas":1
}
}
k8s api 문서:http://kubernetes.kansea.com/docs/api-reference/v1/operations/ k8s 매개 변수 설명 문서:http://kubernetes.kansea.com/docs/api-reference/v1/definitions/#_v1_event
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.