将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

k8s集群部署项目完整过程记录的更多相关文章

  1. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  2. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  3. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  6. 在k8s集群部署SonarQube

    目录 1.2.存储环境 1.3.sonarqube版本 2.部署sonarqube 2.1.部署PostgreSQL 2.2.部署SonarQube 2.3.访问检查 SonarQube 是一款用于代 ...

  7. 基于k8s集群部署prometheus监控ingress nginx

    目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署pro ...

  8. 基于k8s集群部署prometheus监控etcd

    目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控 ...

  9. 菜鸟系列k8s——k8s集群部署(2)

    k8s集群部署 1. 角色分配 角色 IP 安装组件 k8s-master 10.0.0.170 kube-apiserver,kube-controller-manager,kube-schedul ...

  10. (视频)asp.net core系列之k8s集群部署视频

    0.前言 应许多网友的要求,特此录制一下k8s集群部署的视频.在录制完成后发现视频的声音存在一点瑕疵,不过不影响大家的观感. 一.视频说明 1.视频地址: 如果有不懂,或者有疑问的欢迎留言.视频分为两 ...

随机推荐

  1. 云原生爱好者周刊 | 使用 WASM 来写博客是什么感觉?

    开源项目推荐 zzhack zzhack 是一个静态博客框架,是一个纯正的 WASM 应用,它由 Rust & Yew 来作为技术栈进行搭建,UI 设计比较美观,大家也可以直接使用该项目的设计 ...

  2. 修改文件的所有者失败(chown: changing ownership of `uploads': Operation not permitted)

    在项目开发的时候,经常需要将文件上传到指定的目录下. 例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源. 首先在命令窗口下输入: 1 mkdir u ...

  3. OpenCV开发笔记(八十一):通过棋盘格使用鱼眼方式标定相机内参矩阵矫正摄像头图像

    前言   对于广角摄像头通过相机图片可以识别出棋盘角点计算相机内参矩阵,通过畸变校准可以得到较好的效果,但是鱼眼摄像头通过这种方式获得周围四周的图像效果并不是很好.所以,鱼眼摄像头在校准上与普通摄像头 ...

  4. Taro首个支持鸿蒙的 UI 库,同时还兼容 React Native、小程序、H5

    Taro 4.0 已经推出一段时间了,4.0 版本主要是支持了鸿蒙端的开发以及 Vite 编译工具的支持.duxapp 在这段时间也跟随 Taro 的脚步,实现的对鸿蒙端的支持,并且也将之前的 dux ...

  5. 卢卡斯定理/Lucas 定理

    卢卡斯定理/Lucas 定理 引入 求 \(C_{n+m}^n \mod p\). \(n,m,p \leq 10^5\). 如果直接用阶乘求,可能在阶乘过程中出现了 \(p\),而最后的结果没有出现 ...

  6. AI 实战篇:Spring-AI再更新!细细讲下Advisors

    在2024年10月8日,Spring AI再次进行了更新,尽管当前版本仍为非稳定版本(1.0.0-M3),但博主将持续关注这些动态,并从流行的智能体视角深入解析其技术底层.目前,Spring AI仍处 ...

  7. linux下文件夹文件名称最大长度

    今天突发奇想,如果创建一个文件,不写入内容,就如我们之前说的写入扩展属性能快速查找数据,但是在SSD下只能写4000个左右的字符,那么有没有更快速的方法存储这样的信息呢? 我想到可以同文件名来存储信息 ...

  8. 分析什么情况下回有大量的垃圾回收(GC)

    在前端性能监控中,大量的垃圾回收(GC)通常是由以下原因导致的: 内存泄漏:当页面中的对象没有被正确地释放或引用计数错误时,会导致内存泄漏.当内存中的对象达到一定数量时,JavaScript 引擎会执 ...

  9. Webshell流量分析之菜刀Chopper&蚁剑AntSword

    目录 中国菜刀 蚁剑 菜刀和蚁剑的一句话木马的流量都有一个特点,都没有加密的,使用wireshark抓包来分析. 中国菜刀 中国菜刀是一款经典的webshell管理工具,具有文件管理.数据库管理.虚拟 ...

  10. C# 高效餐饮管理系统设计与实现

    前言 推荐一个C#开发全面.高效的商用餐饮管理系统.该系统集成了餐饮业日常运营所需的各种功能,包括但不限于订单管理.库存控制.财务结算等,通过信息技术手段,帮助餐饮企业实现管理的自动化和智能化. 系统 ...