Kubernetes Nginx 发布

news2024/11/24 23:09:24

kubernetes发布nginx

目录

  1. Nginx Pod启动
  2. Service访问Nginx
    2.1. NodePort访问Nginx
    2.2. ClusterIP访问Nginx
    2.3. LoadBalancer访问Nginx
    2.4. ExternalName访问Nginx
  3. Deployment方式部署Nginx
    3.1 Nginx Replicas

Nginx Pod 启动

nginx-v1.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80

创建Pod

kubectl apply -f nginx-v1.yaml
pod/nginx created

查询Pod

kubectl get pods

NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          2m34s

这个Nginx Pod启动完成后如何访问nginx服务?
有一种访问方式可以使用,进入容器访问localhost:

kubectl exec -it po/nginx -- bash
apt update
apt install -y curl
curl http://localhost

输出结果如下:
In-pod
在Kubernetes访问集群内访问可以使用Service。

Service访问Nginx

  • Service是在一组Pod上对网络服务的抽象;
  • Service就像是网线插入到Pod的网卡上,为Pod提供网络通信服务;
  • Service指向有多个Pod,因此Service也提供负载均衡服务,Service会将流量分发到不同Pod;
  • 由于发布、故障等问题,Pod可能会随时创建或者销毁,因此Service为这些随时变更的Pod提供了统一的网络入口。

NodePort方式访问Nginx

NodePort设置一个或多个可以外部访问的端口,访问方式:节点IP+端口号方式,所有节点都可以。
比如: 我们有一个节点的IP地址为:192.168.1.10,NodePort端口为:80,那么我们就可以在我们自己的主机上通过http://192.168.1.10:80访问服务。

新建一个Nginx NodePort的yaml清单文件: nginx-service-nodeport.yaml,并创建这个NodePort,

kubectl apply -f nginx-service-nodeport.yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx
  namespace: default
  labels:
    app: nginx
spec:
  ports:
    - name: nginx-service-nodeport
      nodePort: 80
      port: 80
      protocol: TCP
      targetPort: 80
  selector:
    app: nginx
  type: NodePort

通过主机IP+80端口访问Nginx:
NodePort

ClusterIP访问Nginx

ClusterIP方式为提供集群内访问的IP,即集群内部IP访问方式。ClusterIP只能集群内访问,不能通过外部进行访问。

apiVersion: v1
kind: Service
metadata:
  name: nginx
  namespace: default
  labels:
    app: nginx
spec:
  ports:
    - name: nginx-service-clusterip
      port: 80
      protocol: TCP
      targetPort: 80
  selector:
    app: nginx
  type: ClusterIP

集群内访问ClusterIP测试,新建nginx test Pod清单文件并创建busybox Pod,

kubectl apply -f nginx-test-pod.yaml

# nginx test Pod启动成功后进入Nginx Pod
kubectl exec -it nginx-test -- bash
apt update
apt install -y curl
curl http://nginx

nginx-test-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-test
  namespace: default
  labels:
    app: nginx-test
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80

此时使用主机IP无法正常访问Nginx,但是可以在集群内Pod进行访问
在这里插入图片描述

LoadBalancer和ExternalName

目前暂时没有资源可以对这两种方式进行测试,所以暂时不编写这两类的测试。

Deployment方式部署Nginx

单个Pod不好管理副本,Deployement来管理Pod的副本集合。Deployment、副本和Pod关系如下图:
relationship-about-Deployment-Replicas-Pod

让我们来创建一个Nginx的Deployment 包含4个replicas的清单文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: default
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 4
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.14.2
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SPI的增强式插件框架设计

很久之前,为了诊断线上的问题,就想要是能有工具可以在线上出问题的时候,放个诊断包进去马上生效,就能看到线上问题的所在,那该是多么舒服的事情。后来慢慢的切换到 java 领域后,这种理想也变成了现实&#…

Maven中开源的报表平台组件(自带页面+直连数据库)

借鉴的网址:https://www.w3cschool.cn/ureport/

一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。

前言 秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景。欢迎大家参与我们的开源项目,提交PR,提高竞争力。早日上岸,升职加薪。 知识点详解 秒杀系统架构图 秒杀流程图 秒杀系统设计 这篇文章一万多字,…

PDMS二次开发(一)——PML类型程序类型与概念

目录前言一、PML类型与概念基础知识变量函数小例子注释PML表达式条件判断语句循环skip和break窗口程序在PDMS菜单栏中添加程序窗口自动定位PML常见控件前言 PDMS二次开发需要.net 有自带的PML语言和C# .net一般通常泛指的是C#语言 模型数据借助.NET的接口可以转换成数据库中的…

达梦8数据守护动态增加实时备库

实时主备环境 类型 业务IP 库名 实例名 PORT_NUM MAL_HOST MAL_INST_DW_PORT MAL_PORT MAL_DW_PORT 主库dm8p 192.168.1.223 DAMENG GRP1_RT_01 5236 10.0.0.223 45101 55101 65101 备库dm8s 192.168.1.224 DAMENG GRP1_RT_02 5236 10.0.0.224 45121…

模拟电路知识点总结(详细版)-- PN结

一、半导体:介于绝缘体和导体之间 二、本征半导体:纯净的半导体 1.晶体结构:正四面体 2.载流子: 本征激发:逃离共价键的束缚,成为自由电子 (本征半导体的本征激发,通常是由温度引起的晶体结构内部的共价键断…

免费基于springboot的OA自动化办公系统,挺漂亮的

大家好,我是锋哥,看到一个不错的springboot的OA自动化办公系统,分享下哈。 项目介绍 这是一个OA办公自动化系统,使用Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采…

GEE学习笔记 五十五:GEE编辑器绘制样本点的一个bug(官方在5.1给出反馈已经修复相关bug)

在做地物分类的时候我们会采用GEE在线采集样本方式,但是这个有一个问题需要注意,如果直接使用绘制矩形和点会将点变为 ee.Geometry.Point([xxx], null, false) 这种形式。出现的问题步骤如下: 1、绘制一个点和一个矩形 2、修改geometry为fea…

持续事务管理过程中的事件驱动

比较官方的定义:事件驱动是指在持续事务管理过程中,进行决策的一种策略,即跟随当前时间点上出现的事件,调动可用资源,执行相关任务,使不断出现的问题得以解决,防止事务堆积。在计算机编程、公共…

WPF五种布局

GridGrid为WPF中最常用的布局容器, 作为View中的主要组成部分, 负责框架中整体的页面布局。标签含义ShowGridLines可以设置行业的边距线的显示Grid. RowDefinitions可以创建任意行, 进行固定高度与百分比高度设置Grid. ColumnDefinitions可以创建任意列, 进行固定宽度与百分宽度…

二氧化碳地质封存技术应用前景及模型构建实践方法与讨论

2022年七月七日,工业和信息化部、发展改革委、生态环境部关于印发工业领域碳达峰实施方案的通知落地。全国各省份积极响应,纷纷出台地方指导文件,标志着我国碳减排事业的全面铺开。二氧化碳地质封存技术作为实现我国“双碳”目标的重要一环&a…

量化策略——准备4 python量化因子测算绘图

文章目录因子测算框架1. 预处理股票数据2. 指标测算3. 测算结果整理4. 结果绘图量化因子的测算通常都是模拟交易,计算各种指标,其中:测算需要用到的第三方库:numpy,pandas,talib绘图需要用到的第三方库&…

研报精选230223

目录 【行业230223开源证券】计算机:政策节奏超预期,数据要素市场加速发展【个股230223光大证券_鲁商发展】投资价值分析报告:剥离地产业务、战略转型大健康产业,化妆品“国货之光”待发力【个股230223华安证券_国际医学】综合医疗…

数据库恢复技术

一,事务的基本概念 1.事务 事物是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事物和程序是两个概念。一般的讲,一个程序中包含多个事物。 事物的开始与结束可以由用户…

瓴羊Quick BI智能报表,轻松搞定复杂“中国式报表”

随着企业的不断成长,内部管理、运营所需的报表往往越做越复杂。不管是对一个职场新人,还是专业的数据分析人员来说,制作复杂的“中国式报表”都是一件让人很痛苦的事。正因如此,越来越多的企业开始使用瓴羊Quick BI智能报表&#…

FPGA纯verilog代码实现H.264/AVC视频解码,提供工程源码和技术支持

目录1、前言2、硬件H.264/AVC视频解码优势3、vivado工程设计架构4、代码架构分析5、vivado仿真6、福利:工程代码的获取1、前言 本设计是一种verilog代码实现的低功耗H.264/AVC解码器(baseline ),硬件ASIC设计,不使用任何GPP/DSP等内核&#…

最新Python异步编程详解

我们都知道对于I/O相关的程序来说,异步编程可以大幅度的提高系统的吞吐量,因为在某个I/O操作的读写过程中,系统可以先去处理其它的操作(通常是其它的I/O操作),那么Python中是如何实现异步编程的呢&#xff…

Python每日一练(20230223)

目录 1. 合并区间 2. 单词接龙 3. N皇后 附录:回溯算法 基本思想 一般步骤 1. 合并区间 难度:★★ 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回…

【虚拟仿真】Unity3D中实现鼠标的单击、双击、拖动的不同状态判断

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 这篇文章分享一下虚拟仿真项目中经常碰到鼠标事件控制代码。 …

某直聘tp_token解析

尊重版权,请勿盗版,不放代码。截至2023-02-23更新---------------------------------------检测windows属性总数大于150 改成大于15 > 150检测了document属性大于50检测了navigate属性检测了navigate.plugins 属性值检测moudle nodejs是否存在&#x…