将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. Cartographer学习——2D栅格地图构建

    前言: 到目前为止,对于点云数据的预处理过程已经介绍完毕,如:点云数据多传感器时间同步.运动畸变校正.重力校正.体素滤波等.做完这一系列的预备工作之后,实际上呢,就可以进行点云的扫描匹配了. 在讲解扫 ...

  2. 对比 Unittest 和 Pytest

    一.用例编写规则 1,Unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...

  3. 2个月搞定计算机二级C语言——真题(9)解析

    1. 前言 本篇我们讲解2个月搞定计算机二级C语言--真题9 2. 程序填空题 2.1 题目要求 2.2 提供的代码 #include <stdio.h> double f1(double ...

  4. 强化学习环境gym/gymnasium下的atari环境的v0、v4、v5的说明

    声明: 本文是最新版gym-0.26.2下Atari环境的安装以及环境版本v0,v4,v5的说明的部分更新和汇总,可以看作是更新和延续版本. 由于gym已经由openai公司独立出来,虽然开发团队和投 ...

  5. pjsip编译、说明及vs2022使用示例

    环境: window10_x64 & vs2022 pjsip版本: 2.14.1   之前整理过pjsip 2.10的编译及python使用示例: https://www.cnblogs.c ...

  6. 使用wxpython开发跨平台桌面应用,对WebAPI调用接口的封装

    我在前面介绍的系统界面功能,包括菜单工具栏.业务表的数据,开始的时候,都是基于模拟的数据进行测试,数据采用JSON格式处理,通过辅助类的方式模拟实现数据的加载及处理,这在开发初期是一个比较好的测试方式 ...

  7. DDCA —— 内存架构和子系统&存储器控制器

    1. 内存架构和子系统 1.1 如何控制访问? 访问控制: 存储单元的访问是通过 访问晶体管(access transistors) 进行控制的.访问晶体管像开关一样,可以连接或断开存储单元和位线(b ...

  8. Failed to load resoure:the serve responded with a status of 405 (Method Not Allowed)

    在项目中 web.config 引入 iis 删除WEBDEV 配置结束后 重启服务器

  9. CAD Plus 移动端使用帮助

    Mac端使用帮助 English help 如果您有疑问或需要帮助请发送邮件至 3167292926@qq.com 1. 权限要求 1.1 获取位置信息 使用文件管理功能时显示网络信息需要获取位置信息 ...

  10. Windows远程登录到VirtualBox安装的Ubuntu11.10

    一.环境 本地:Windows xp 虚拟机:VirtualBox 虚拟机的操作系统:Linux-Ubuntu11.10 二.目的 在Windows下通过SecureCRT(putty也可)远程登录到 ...