将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模拟发送、消费kafka消息

    参考文章: https://zhuanlan.zhihu.com/p/279784873 生产者代码: import traceback from kafka import KafkaProducer ...

  2. Nginx 反向代理 (泛域名->泛域名,https,静态文件)

    Nginx 反向代理配置指南 (泛域名 -> 泛域名, HTTPS, 静态文件) 完整版 server { # 监听80端口 listen 80; listen 443 ssl http2;; ...

  3. OpenGL with GLFW GLAD and CMAKE

    0. 前言 首先,无论是在youtube还是网站上,许多OpenGL的环境配置都是在VS studio里配置的,个人比较喜欢使用VS code,以及Cmake. 下文给出了一个Cmake版本关于 GL ...

  4. 元类、实现ORM

    阅读目录: 元类 元类实现ORM 元类 1. 类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段.在Python中这一点仍然成立: >>> class Obj ...

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

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

  6. python翻译词典实例

    #!/usr/bin/python # -*- coding:utf-8 -*- #通过有道翻译来进行内容翻译 import urllib2 import urllib import json #-- ...

  7. 【转载】碰碰彭碰彭Jingxuan —— 带中国古筝走上戛纳红毯

    视频地址: https://www.youtube.com/shorts/gl796527H1I

  8. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现九

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  9. 异构数据源DDL自动转换

    当我们在不同数据库迁移.同步数据时,首先要做的就是把库和表的结构在目标端创建出来. 当我们把数据库的结构 dump 出来之后,这个 DDL 在目标端大概率是无法直接运行的,至少数据类型在不同数据库之间 ...

  10. Struts2漏洞复现

    Struts2漏洞复现 靶场环境:/vulhub/struts2大多都是OGNL注入 是什么: Struts2是一个基于MVC设计模式的Web应用框架 识别: 1.通过网页后缀来进行判断,如.do或者 ...