springboot项目怎么部署到k8s上
作者:小月亮
时间:2023-05-12
来源:互联网
浏览:0
springboot部署到k8s步骤springboot项目打包镜像部署到镜像仓库登录私有镜像仓库,拉去镜像创建deployment暴露服务访问端口创建secret登录私有仓库需要创建secret,存储dockerregistry的认证信息创建secret~$kubectlcreatesecretdocker-registryfdf-docker-secret--docker-server=registry.cn-chengdu.aliyuncs.com--docker-username=17602117
springboot部署到k8s步骤
springboot项目打包镜像部署到镜像仓库
登录私有镜像仓库,拉去镜像
创建deployment
暴露服务访问端口
创建secret
登录私有仓库需要创建secret,存储docker registry的认证信息
创建secret
~$ kubectl create secret docker-registry fdf-docker-secret --docker-server=registry.cn-chengdu.aliyuncs.com --docker-username=17602117026 --docker-password=用户密码 secret/fdf-docker-secret created ~$ ~$ ~$ kubectl get secret NAME TYPE DATA AGE fdf-docker-secret kubernetes.io/dockerconfigjson 1 15s
创建好之后,后续需要挂载到pod上
创建deployment的yaml文件
快速创建一个deployment,导出yaml文件
~$ kubectl create deployment k8sdemo --image=registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0 --dry-run=client -o yaml > k8sdemo.yaml
~$ cat k8sdemo.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: k8sdemo
name: k8sdemo
spec:
replicas: 1
selector:
matchLabels:
app: k8sdemo
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: k8sdemo
spec:
containers:
- image: registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0
name: k8s-test
resources: {}
status: {}
~$修改k8sdemo.yaml文件
#1.修改副本数量为2
#2.挂在secret
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: k8sdemo
name: k8sdemo
spec:
replicas: 2
selector:
matchLabels:
app: k8sdemo
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: k8sdemo
spec:
imagePullSecrets:
- name: fdf-docker-secret
containers:
- image: registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0
name: k8s-test
resources: {}
status: {}创建deployment
~$ kubectl apply -f k8sdemo.yaml deployment.apps/k8sdemo created ~$ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE k8sdemo 0/2 2 0 12s ~$ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE k8sdemo 2/2 2 2 24s ~$ kubectl get pod NAME READY STATUS RESTARTS AGE k8sdemo-65d45fb49f-l4kx5 1/1 Running 0 28s k8sdemo-65d45fb49f-pqsjw 1/1 Running 0 28s
创建service, nodePort
#port 服务端口 target-port pod端口 ~$ kubectl expose deploy k8sdemo --port=9001 --target-port=9001 --type=NodePort service/k8sdemo exposed ~$ ~$ kubectl get svc k8sdemo NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE k8sdemo NodePort 10.96.10.799001:31921/TCP 12s ~$ curl http://127.0.0.1:31921/api/v1/user/name zhangsan
可以看到serviced的ip为10.96.10.79 对外端口为 31921,安全组需开放该端口才能访问
到这里我们服务部署就算完成了,看一下所有的节点
~$ kubectl get secret,pod,svc,deploy NAME TYPE DATA AGE secret/fdf-docker-secret kubernetes.io/dockerconfigjson 1 52m NAME READY STATUS RESTARTS AGE pod/k8sdemo-65d45fb49f-l4kx5 1/1 Running 0 39m pod/k8sdemo-65d45fb49f-pqsjw 1/1 Running 0 39m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/k8sdemo NodePort 10.96.10.799001:31921/TCP 5m51s service/kubernetes ClusterIP 10.96.0.1 443/TCP 301d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/k8sdemo 2/2 2 2 39m ~$
作者最新文章
纯纯写作
2026-09-16 17:42
JMeter入门:创建HTTP请求并验证响应结果
2026-09-02 10:20
文件表格制作教程:选择Word或Excel的判断方法
2026-09-02 09:45
多个PPT怎么一次性转PDF?PPT批量转换工具有哪些?
2026-09-02 06:00
PDF图纸转CAD的3种方法及比例校准指南
2026-09-01 18:36
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















