k8s集群部署项目完整过程记录
将k8s-web项目制作成镜像
构建 study/k8s-web:1.0 镜像
构建java环境并上传jar包
docker pull java:8u111

mkdir /usr/dockerfile -p(将k8s-web.jar上传到 /usr/dockerfile 目录下)
vim dockerfile-demo
FROM java:8u111 COPY k8s-web.jar /root CMD ["nohup","java","-jar","/root/k8s-web.jar","&"]
构建镜像(注意:需要在 /usr/dockerfile 目录下执行以下命令,命令行最后的空格和.不能去掉)
docker build -f dockerfile-demo -t study/k8s-web:v1 .

docker images

将k8s-web项目镜像推送到阿里云
docker login --username=你的阿里云用户名 registry.cn-hangzhou.aliyuncs.com
给k8s-web镜像打标签:
sudo docker images
sudo docker tag 5e365da78fe3 registry.cn-hangzhou.aliyuncs.com/hlyao/k8-test:v1

sudo docker push registry.cn-hangzhou.aliyuncs.com/hlyao/k8-test:v1

将阿里云镜像拉取到k8s集群并运行
kubectl run k8s-web --image=registry.cn-hangzhou.aliyuncs.com/hlyao/k8-test:v1

查看deployment

查看pod

可以看到,项目已运行成功。
公布应用
我们已经将项目部署成功,但目前这个服务是运行在k8s集群内部,我们无法在外部对其进行访问,若要访问它,则需要配置一个对外公布的Service。
编写一个k8s-web-service.yaml:
--- apiVersion: v1 kind: Service metadata: name: k8s-web namespace: default spec: ports: - name: client nodePort: 30002 port: 8080 protocol: TCP targetPort: 8080 selector: run: k8s-web sessionAffinity: None type: NodePort
注意:这里的nodePort取值范围必须在30000-32767之间
上传到master节点的/root目录下,执行以下命令:
kubectl apply -f k8s-web-service.yaml
查看service:

开放30002端口:
systemctl disable firewalld.service
systemctl start firewalld.service
firewall-cmd --zone=public --add-service=30002/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
有时可能需要重启虚拟机,才能访问到对应的服务。
测试部署在k8s集群上的服务
数据库连接配置:

查询数据:

添加数据:


更新数据:


删除数据:


k8s相关命令
k8s删除pod命令:
kubectl delete pod pod名称
查看pod运行节点情况:
kubectl get pod -n kube-system -o wide(查看名为 kube-system 的命名空间中的pod运行情况)
查看pod资源(非常详细):
kubectl describe pod
获取deployment:
kubectl get deployment(查看基本信息)
kubectl get deployment -n default -o wide(查看较详细信息)

删除deployment:
kubectl delete deployment 服务名
查看pod(容器组):
kubectl get pod -n default -o wide
查看label信息:
kubectl get pod --show-labels

作者:blayn
出处:https://www.cnblogs.com/blayn/
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
出处:https://www.cnblogs.com/blayn/
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
2021-06-15 SpringBoot原理深入及源码剖析(二) 自定义Starter及SpringBoot执行原理