跨境互联网 跨境互联网
首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)

Revin

首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)
  • Docker

  • k8s

  • k8s

    • k8s快速入门之资源文件
    • 快速入门一
    • 快速入门二
      • 1 idea安装k8s插件
        • 1.1 idea插件官网地址
        • 1.2 查找对应自己idea版本的k8s插件信息
        • 1.3 离线安装k8s插件
      • 2 idea配置SSH客户端
        • 2.1 idea配置
        • 2.2 使用SSH客户端
        • 2.3 新建yml类型文件
      • 3 Remote Host
        • 3.1 idea配置
        • 3.2 使用Remote Host
      • 4.NameSpace
        • 4.1 创建NameSpace
        • 4.1.1 lagounamespace.yml
        • 4.2 删除NameSpace
      • 5.pod
        • 5.1 创建pod
        • 5.2 镜像下载策略、重启策略
        • 5.3 运行pod
        • 5.4 测试pod
        • 5.5 删除pod
      • 6.deployment
        • 6.1 创建deployment
        • 6.2 运行deployment
        • 6.3 控制器类型
        • 6.4 Deploymen控制器介绍
        • 6.5删除Deployment
      • 7.service
        • 7.1 创建service
        • 7.1.0 service的selector
        • 7.1.1 Service类型
        • 7.1.2 Service参数
        • 7.2 运行service
        • 7.3 删除service
    • 资源清单-pod进阶
    • 资源控制器
    • service高级
    • k8s存储卷
    • k8s高可用-kubesray
    • k8s高可用-sealos
    • k8s运维常用软件安装
  • Docker容器
  • k8s
Revin
2023-08-03
目录

快速入门二

# 1 idea安装k8s插件

# 1.1 idea插件官网地址

https://plugins.jetbrains.com/

kubernetes地址: https://plugins.jetbrains.com/plugin/10485-kubernetes

# 1.2 查找对应自己idea版本的k8s插件信息

help->about->查看idea内部版本信息 一定要注意版本信息,否则无法安装
1

# 1.3 离线安装k8s插件

因国外网站网速较慢,在线安装有安装失败的危险。推荐大家下载idea对应版本的插件后,进行离线安装

193.5662.65
settings->plugins->Install Plugin from Disk->插件安装目录

安装完成后重启idea开发工具
1
2
3
4
5
6

# 2 idea配置SSH客户端

目标:在idea中打开终端操作k8s集群master节点。

# 2.1 idea配置

settings->Tools->SSH Configurations->新建
1

# 2.2 使用SSH客户端

Tools->Start SSH session->选择我们刚刚配置的ssh客户端名称
1

# 2.3 新建yml类型文件

idea默认没有yml文件类型。可以通过new->file->手工输入*.yml创建yml类型文件。也可以通过配置增加yml类型文件。

settings->Edtior->File and Code Template->file->+(新建)
1

03.快速入门二_Page2_1

# 3 Remote Host

# 3.1 idea配置

Tools->Deployment->Configurations->配置Remote Host
1

# 3.2 使用Remote Host

可以将本工程中的文件上传k8s集群
1

# 4.NameSpace

# 4.1 创建NameSpace

操作指南:

 settings->Editor->Live Template->Kubernetes->查看自动生成的模板信息内容
1

# 4.1.1 lagounamespace.yml

在文件中输入kres,根据模板快速生成yml文件信息

apiVersion: v1
kind: Namespace
metadata:
	name: lagou
1
2
3
4

通过idea的Remote Host快速将yml文件上传k8s集群进行测试

mkdir -p /data/namespaces
cd /data/namespaces

kubectl apply -f lagounamespace.yml
1
2
3
4

# 4.2 删除NameSpace

kubectl delete -f lagounamespace.yml
1

# 5.pod

# 5.1 创建pod

在idea工程resource/pod/tomcatpod.yml

apiVersion: v1
kind: Pod
metadata:
	name: tomcat9
	labels:
		app: tomcat9
spec:
	containers:
		- name: tomcat9
			image: tomcat:9.0.20-jre8-alpine
			imagePullPolicy: IfNotPresent
	restartPolicy: Always
1
2
3
4
5
6
7
8
9
10
11
12

# 5.2 镜像下载策略、重启策略

imagePullPolicy:
	Always:总是拉取 pull
	IfNotPresent:如果本地有镜像,使用本地,如果本地没有镜像,下载镜像。
	Never:只使用本地镜像,从不拉取
1
2
3
4
restartPolicy:
	Always:只要退出就重启。
	OnFailure:失败退出时(exit code不为0)才重启
	Never:永远不重启
1
2
3
4

# 5.3 运行pod

kubectl apply -f tomcatpod.yml
1

# 5.4 测试pod

curl 10.81.58.196:8080
1

# 5.5 删除pod

 kubectl delete -f tomcatpod.yml
1

# 6.deployment

# 6.1 创建deployment

在idea工程resource/deployment/tomcatdeployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
	name: tomcat-deployment
	labels:
		app: tomcat-deployment
spec:
	replicas: 3
	template:
		metadata:
			name: tomcat-deployment
			labels:
				app: tomcat
		spec:
			containers:
				- name: tomcat-deployment
					image: tomcat:9.0.20-jre8-alpine
					imagePullPolicy: IfNotPresent
			restartPolicy: Always
	selector:
		matchLabels:
			app: tomcat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

matchLabels

总结: 在Deployment中必须写matchLables 在定义模板的时候必须定义labels,因为Deployment.spec.selector是必须字段,而他又必须和template.labels对应

# 6.2 运行deployment

kubectl apply -f tomcatdeployment.yml
1

# 6.3 控制器类型

控制器名称 作用
Deployment 声明式更新控制器,用于发布无状态应用
ReplicaSet 副本集控制器,用于对Pod进行副本规模 扩大或剪裁
StatefulSet 有状态副本集,用于发布有状态应用
DaemonSet 在k8s集群每一个Node上运行一个副本, 用于发布监控或日志收集类等应用
Job 运行一次性作业任务
CronJob 运行周期性作业任务

# 6.4 Deploymen控制器介绍

具有上线部署、滚动升级、创建副本、回滚到以前某一版本(成功/ 稳定)等功能。

Deployment包含ReplicaSet,除非需要自定义升级功能或者根本不需要升级Pod,否则还是建议使用Deployment而不直接使用ReplicaSet 。

# 6.5删除Deployment

kubectl delete -f tomcatdeployment.yml
1

# 7.service

# 7.1 创建service

在idea工程resource/service/tomcatservice.yml

apiVersion: apps/v1
kind: Deployment
metadata:
	name: tomcat-deploy
	labels:
		app: tomcat-deploy
spec:
	replicas: 1
	template:
		metadata:
			name: tomcat-deploy
			labels:
				app: tomcat-pod
		spec:
			containers:
				- name: tomcat-deploy
					image: tomcat:9.0.20-jre8-alpine
					imagePullPolicy: IfNotPresent
					ports:
						- containerPort: 8080
			restartPolicy: Always
	selector:
		matchLabels:
			app: tomcat-pod
---
apiVersion: v1
kind: Service
metadata:
	name: tomcat-svc
spec:
	selector:
		app: tomcat-pod
  ports:
    - port: 8888
      targetPort: 8080
      nodePort: 30088
      protocol: TCP
  type: NodePort
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# 7.1.0 service的selector

1 请各位小伙伴注意:
2 service.spec.selector.app选择的内容仍然是template.label.app内容。而不是我们deployment控制器的label内容
1
2

# 7.1.1 Service类型

1 ClusterIP:默认,分配一个集群内部可以访问的虚拟IP

2 NodePort:在每个Node上分配一个端口作为外部访问入口

3 LoadBalancer:工作在特定的Cloud Provider上,例如Google Cloud,AWS,OpenStack

4 ExternalName:表示把集群外部的服务引入到集群内部中来,即实现了集群内部pod和集群外部的服务进行通信

# 7.1.2 Service参数

port :访问service使用的端口 targetPort :Pod中容器端口 NodePort: 通过Node实现外网用户访问k8s集群内service(30000-32767)

# 7.2 运行service

 kubectl apply -f tomcatservice.yml
1

# 7.3 删除service

 kubectl delete -f tomcatservice.yml
1
上次更新: 2025/04/03, 11:07:08
快速入门一
资源清单-pod进阶

← 快速入门一 资源清单-pod进阶→

最近更新
01
tailwindcss
03-26
02
PaddleSpeech
02-18
03
whisper
02-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 跨境互联网 | 豫ICP备14016603号-5 | 豫公网安备41090002410995号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式