k8s部署项目
● ① 通过Dockerfile制作镜像。● ② 将镜像推送到镜像仓库,比如阿里云镜像仓库等。● ③ Pod控制器部署镜像。● ④ 创建Service或Ingress对外暴露应用。● ⑤ 对集群进行监控、升级等。
·
k8s中部署Java项目的流程
● ① 通过Dockerfile制作镜像。
● ② 将镜像推送到镜像仓库,比如阿里云镜像仓库等。
● ③ Pod控制器部署镜像。
● ④ 创建Service或Ingress对外暴露应用。
● ⑤ 对集群进行监控、升级等。
k8s中部署Java项目
制作镜像
- 准备java项目,然后打包得到对应的jar包 — 这一步演示过程省略
- 在项目的根目录下新建Dockerfile文件:
FROM java:8
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar /tmp/dc.jar
EXPOSE 8080
CMD java -jar /tmp/dc.jar
制作镜像
# spring是 镜像的名称,1.0是版本,镜像名 不能 有大写字母
docker build -t spring:1.0 .
推送镜像
往下拉
阿里云
创建命名空间
:
点击个人实例
阿里云
创建镜像仓库
部署镜像暴露应用
创建
deployment.yaml
文件,内容如下:
apiVersion: apps/v1
kind: Deployment # 创建控制器,通过控制器创建Pod
metadata:
labels:
app: spring # 该控制器的label
name: spring
spec:
replicas: 1
selector:
matchLabels:
app: spring # 选择哪个Pod
template:
metadata:
labels:
app: spring # 为这个Pod打上标签,方便控制器管理
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/k8s-dc/spring:1.0 # 远程镜像名
name: spring
创建Deployment:
kubectl apply -f deployment.yaml
查看
Deployment和Pod
:
kubectl get deploy,pod
创建
service.yaml
文件,内容如下
apiVersion: v1
kind: Service
metadata:
labels:
app: spring
name: svc
spec:
ports:
- port: 8080 # service的端口
protocol: TCP
targetPort: 8080 # Pod端口
nodePort: 30091 # 外部访问端口
selector:
app: spring
type: NodePort
创建Service:
kubectl apply -f service.yaml
查看Service:
kubectl get service
访问
完成部署!
更多推荐
已为社区贡献3条内容
所有评论(0)