k8s、Deployment多副本资源详解、SERVICE通信、案例一nginx端口暴漏、案例二tomcat端口暴漏、案例三jenkins端口暴漏

本文主要是介绍k8s、Deployment多副本资源详解、SERVICE通信、案例一nginx端口暴漏、案例二tomcat端口暴漏、案例三jenkins端口暴漏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 案例一
    • 创建SERVICE
    • 案例一nginx端口暴露
    • 案例二tomcat端口暴露
    • 案例三jenkins端口暴漏

使用yaml创建Deployment
k8s deployment资源创建流程:
1. 用户通过 kubectl 创建 Deployment。
2. Deployment 创建 ReplicaSet。
3. ReplicaSet 创建 Pod。

对象的命名方式是:子对象的名字 = 父对象名字 + 随机字符串或数字
在这里插入图片描述
Deployment是一个定义及管理多副本应用(即多个副本 Pod)的新一代对象,与Replication Controller相比,它提供了更加完善的功能,使用起来更加简单方便

案例一

例1:
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deployment
spec:selector:matchLabels:app: nginxreplicas: 2template:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.7.9ports:- containerPort: 80

启动一个pod 看看有几个副本

[root@k8s-mastet deployment.yaml]# kubectl apply -f nginx-depl.yml
deployment.apps/dep01 unchanged
service/mysvc unchanged

在这里插入图片描述

创建SERVICE

自己理解就是将自己的端口暴露给外界,让外界能访问

[root@kub-k8s-master prome]# vim nginx-depl.yml
apiVersion: apps/v1
kind: Deployment
metadata:name: dep01
spec:selector:matchLabels:	#必须设定的app: webreplicas: 2template:metadata:name: testnginx9labels:app: webspec:containers:- name: testnginx9image: daocloud.io/library/nginxports:- containerPort: 80

创建pod

[root@kub-k8s-master prome]# kubectl apply -f nginx-depl.yml 
  1. 创建service并且以nodePort的方式暴露端口给外网:
[root@kub-k8s-master prome]# vim nginx_svc.yaml
apiVersion: v1
kind: Service
metadata:name: mysvc
spec:type: NodePort  #类型ports:- port: 8080nodePort: 30001targetPort: 80selector:   #选择器app: web

创建pod

[root@kub-k8s-master prome]# kubectl apply -f nginx_svc.yaml 
service/mysvc created

3.测试

[root@kub-k8s-master prome]# kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP          5d18h
mysvc        NodePort    10.100.166.208   <none>        8080:30001/TCP   21s

案例一nginx端口暴露

我直接写到一起拉 直接创建一个pod就可以
vim nginx-depl.yml

apiVersion: apps/v1
kind: Deployment
metadata:name: dep01
spec:selector:matchLabels:app: nginxreplicas: 2template:metadata:name: testnginx9labels:app: nginxspec:containers:- name: testnginx9image: daocloud.io/library/nginx:1.12.0-alpineports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: mysvc
spec:type: NodePortports:- port: 8080nodePort: 30001targetPort: 80selector:app: nginx

在这里插入图片描述通信原理概念图
在这里插入图片描述创建pod测试

kubectl apply -f nginx-depl.yml

访问10.8.156.119:3001
在这里插入图片描述访问10.8.156.120:3001
在这里插入图片描述

案例二tomcat端口暴露

我先用node节点把镜像拉下来拉,先拉后拉都一样,没有会自己拉取
node节点都操作
在这里插入图片描述

docker pull daocloud.io/library/tomcat:8.0.45

在这里插入图片描述master节点操作
vim tomcat-depl.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:name: dep01
spec:selector:matchLabels:app: tomcatreplicas: 2template:metadata:name: testomcatlabels:app: tomcatspec:containers:- name: testtomcatimage: daocloud.io/library/tomcat:8.0.45ports:- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:name: mysvc
spec:type: NodePortports:- port: 8081nodePort: 30003targetPort: 8080selector:app: tomcat

在这里插入图片描述创建一个pod测试

[root@k8s-mastet deployment.yaml]# kubectl apply -f tomcat-depl.yml
deployment.apps/dep01 created
service/mysvc created
[root@k8s-mastet deployment.yaml]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
dep01-76b88bb67b-8kgmh   1/1     Running   0          7s
dep01-76b88bb67b-s66z8   1/1     Running   0          7s
[root@k8s-mastet deployment.yaml]#

在这里插入图片描述测试10.8.156.119:3003
在这里插入图片描述
测试10.8.156.120:3003
在这里插入图片描述

案例三jenkins端口暴漏

步骤一:先去拉去镜像,或者自己dockerfile自己编写一个
在这里插入图片描述
node节点上面都拉取一下
master节点去编写 vim jenkins-depl.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:name: dep02
spec:selector:matchLabels:app: jenkinsreplicas: 2template:metadata:name: testjenkinslabels:app: jenkinsspec:containers:- name: testjenkinsimage: daocloud.io/library/jenkins:2.60.2
---
apiVersion: v1
kind: Service
metadata:name: mysvc
spec:type: NodePortports:- port: 8083nodePort: 30011targetPort: 8080selector:app: jenkins

跟上面思路一样,
在这里插入图片描述
创建 pod

kubectl apply -f jenkins-depl.yml

访问测试
10.8.156.118:30011
在这里插入图片描述
访问测试
10.8.156.120:30011
在这里插入图片描述

这篇关于k8s、Deployment多副本资源详解、SERVICE通信、案例一nginx端口暴漏、案例二tomcat端口暴漏、案例三jenkins端口暴漏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875786

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装