k3s启动java应用

前言
pod
1.最小的部署单元,
2.一组容器的集合
3.一个pod中的容器共享网络命名空间
4.生命周期是短暂的
Controllers
1.Deployment:部署无状态应用
2.Statefulset:部署有状态应用
3.Replicaset:确保预期的Pod副本数量
4.Daemonset:	确保node运行同一个pod
5.Job:一次性任务
6.Cronjob:定时任务
更高级层次对象,部署和管理pod
Service
防止Pod失联,找到你需要Pod
定义一组Pod的负载均衡访问策略
Label
标签,附加到某个资源上,用于关联对象,查询和筛选
Namespaces
Namespaces:命名空间,将对象进行逻辑上隔离或者资源隔离
流程

在这里插入图片描述

制作项目镜像

制作docker镜像,可以用docker images查看到即可,我的dockerfile文件如下所示:

FROM openjdk:1.8
MAINTAINER wt
ADD follow-1.0.0-SNAPSHOT.jar follow.jar
#配置时区 
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 8080
ENTRYPOINT ["java","-jar","/follow.jar","--spring.profiles.active=${ACTIVE}"]

在这里插入图片描述

创建pod
create  deployment  follow  --image=follow --dry-run -o yaml > follow.yaml
kubectl apply -f  follow.yaml

在这里插入图片描述
这里要注意下,containerPort:8080 必须跟dockerfile中暴露的端口一致,不然访问不到

创建svc
kubectl expose deployment follow --port=80 --target-port=8080 --type=NodePort -o yaml --dry-run > svc.yaml
kubectl apply -f  svc.yaml

在这里插入图片描述

检查pod、svc是否创建成功
 kubectl  get pod,svc

在这里插入图片描述

通过 Ingress 访问集群内部容器服务

安装参考:k8s 部署 Nginx Ingress Controller
有几点需要注意下:
1、下载yaml文件,可以直接去ingress-nginx下载,有两个yaml文件都要下载下来,service-nodeport
.yaml在baremetal目录下,mandatory.yaml在static目录下
在这里插入图片描述
对service-nodeport.yaml稍微更改下:
在这里插入图片描述

kubectl apply -f  service-nodeport.yaml
kubectl -n ingress-nginx get all

出现下图所示,说明安装成功
在这里插入图片描述

2、service-nodeport.yaml如果不创建,启动nginx-controller时会报err services “ingress-nginx” not found

3、启动nginx-controller时,如果出现1 node(s) didn’t have free ports for the requested pod ports,说明端口被占用,可以适当修改端口,然后执行

kubectl replace --force -f mandatory.yaml

在这里插入图片描述

创建项目的ingress在这里插入图片描述
kubectl apply -f  ingress-follow.yaml
kubectl get ingress

出现下图所示,说明ingress配置成功
在这里插入图片描述
host填你自己的项目域名即可,在浏览器上项目域名加你的首页即可访问成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值