将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. python将html批量转换为md

    一.安装依赖 pip install html2text 代码实现 import os import shutil import html2text def convert_html2md(src_h ...

  2. dc-2靶机-超详解

    dc-2内网靶 1.信息收集 入站信息 nmap扫描 nmap -A -p- -v 192.168.27.0/24 得到消息: IP:192.168.227.139 cms:wordpress 4.7 ...

  3. Cartographer的扫描匹配

    cartographer 代码思想解读(1)- 相关匹配 cartographer在2016年开源后一直在使用,但是一直未仔细阅读并分析其核心代码结构.目前网上可以找到许多博主对其分析和理解.其car ...

  4. Kubernetes集群证书过期解决方案:使用kubeadm为证书续期

    目录 一.系统环境 二.前言 三.Kubernetes证书过期及续期简介 四.使用kubeadm为Kubernetes集群证书续期 4.1 查看k8s集群证书过期时间 4.2 为master节点续期证 ...

  5. 异源数据同步 → DataX 同步启动后如何手动终止?

    开心一刻 刚刚和老婆吵架,气到不行,想离婚女儿突然站出来劝解道:难道你们就不能打一顿孩子消消气,非要闹离婚吗?我和老婆同时看向女儿,各自挽起了衣袖女儿补充道:弟弟那么小,打他,他又不会记仇 需求背景 ...

  6. 什么是AOP面向切面编程?怎么简单理解?

    本文原文地址:什么是AOP面向切面编程?怎么简单理解? 什么是AOP面向切面编程 面向切面编程(AOP)通过将横切关注点(cross-cutting concerns)分离出来,提供了一种增强代码模块 ...

  7. 基于Java+SpringBoot心理测评心理测试系统功能实现九

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  8. Android WebView 加载 html页面 实现 不同分辨率 不同 dpi 缩放自适应处理 解决方案

    两种情况一起使用 实现 不同分辨率 不同 dpi 缩放自适应处理 //webview 需要配置 mWebView.getWebSetting().setUseWideViewPort(true);// ...

  9. 惊爆!72.1K star 的 Netdata:实时监控与可视化的超炫神器!

    在当今复杂的 IT 环境中,实时监控与可视化对于保障系统的稳定运行和性能优化至关重要. 无论是服务器.应用程序,还是网络设备,及时获取性能数据能够帮助我们快速定位问题.优化资源配置. Netdata, ...

  10. Android之JNI开发

    JNIJNI是Java Native Interface的缩写,俗称Java本地接口,是Java语言提供的用于Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的 ...