(二十)、从宿主机访问 k8s(minikube) 发布的 redis 服务

文章目录

    • 1、环境准备
    • 2、具体操作
      • 2.1、启动 minikube (start/stop)
      • 2.2、准备 redis-deployment.yaml
      • 2.3、执行 redis-deployment.yaml
        • 2.3.1、查看 pod 信息和日志
      • 2.4、检查部署和服务状态
        • 2.4.1、如果需要删除
    • 3、查看 IP 的几个命令
      • 3.1、查看IP的几个命令
      • 3.2、解读
      • 3.3、宿主机连接 k8s 部署的 redis

1、环境准备

Mac
安装好了 Docker Desktop
VC Code (安装了 k8s 拓展插件 ) 使用 minikube 运行k8s 集群

2、具体操作

2.1、启动 minikube (start/stop)

minikube start
minikube stop

minikube start <--driver=docker>
  • 另外一种方式
    这种方式,允许宿主机直接访问 集群 ip:nodeport 端口
minikube start --driver=virtualbox
  • 查看集群状态
➜  ~ kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:62973
CoreDNS is running at https://127.0.0.1:62973/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

2.2、准备 redis-deployment.yaml

  • 创建一个 NodePort 类型的服务来暴露 Redis
  • 内容包含 redis 的 部署和服务配置信息,中间用 — 分割
  • 内容可以借助 VS Code,输入关键字 deployment 和 service 自动填充默认文本
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
        - name: redis
          image: redis:latest
          resources:
            limits:
              memory: "128Mi"
              cpu: "500m"
          ports:
            - containerPort: 6379

---
apiVersion: v1
kind: Service
metadata:
  name: redis-service
spec:
  type: NodePort
  selector:
    app: redis
  ports:
    - port: 6379
      targetPort: 6379
      nodePort: 30081


2.3、执行 redis-deployment.yaml

redis-deployment.yaml 所在目录下执行

kubectl apply -f redis-deployment.yaml
2.3.1、查看 pod 信息和日志

在这里插入图片描述

kubectl get pods
kubectl logs <pod-name>

2.4、检查部署和服务状态

kubectl get deployments
kubectl get services
2.4.1、如果需要删除
kubectl delete deployment redis
kubectl delete service redis-service

3、查看 IP 的几个命令

3.1、查看IP的几个命令

注意,下面 redis-service 是我在 redis-deployment.yaml 已经自定义过的 service name

kubectl get nodes -o wide
kubectl get pods -o wide
kubectl get services -o wide
kubectl get svc
minikube service redis-service

这几个命令都是与Kubernetes集群管理和操作相关的,它们分别有不同的用途:

  • kubectl get nodes -o wide
    这个命令用于获取集群中所有节点的信息,并且使用 -o wide 参数来显示更多的列,比如节点的IP地址和其他详细信息。输出通常会包括节点名称、状态、年龄、版本等信息。
    在这里插入图片描述

  • kubectl get pods -o wide
    这个命令将会输出当前命名空间下的所有Pod,如果想要指定命名空间,可以加上–namespace=选项
    在这里插入图片描述

  • kubectl get services -o wide
    这个命令将会输出当前命名空间下的所有Service
    在这里插入图片描述

  • kubectl get svc
    这个命令用于列出集群中的所有服务(Service)。服务是在后端的一组Pods之上抽象的一个逻辑入口。输出将展示服务的名字、类型、端口、IP地址以及创建时间等信息。
    在这里插入图片描述

  • minikube service redis-service
    这个命令是特定于minikube环境的,它不仅列出名为redis-service的服务,还会自动配置你的主机的浏览器或默认的服务访问工具来访问该服务。minikube是一个用来在本地快速部署单节点Kubernetes集群的工具。这个命令特别有用,因为它可以帮助开发者快速地检查服务是否正确暴露,并且可以立即测试服务。
    在这里插入图片描述

3.2、解读

在这里插入图片描述
在这里插入图片描述

集群 minikube Node 节点 的内部 IP 是 192.168.58.2
redis 对应的 pod 的内部ip是10.244.0.12,我们配置的端口映射为 6379->6379
NodePort 服务的内部IP是 10.108.141.181,我们配置的端口映射为 30081->6379
宿主机通过 http://127.0.0.1:57407 的端口 57407 映射到 NodePort 的 30081 端口

3.3、宿主机连接 k8s 部署的 redis

本文使用的方式借助 Docker 驱动程序,如果使用 VirtualBox 方式,则可以宿主机直接通过 http://<minikube-ip>:<node-port>进行请求

通过宿主机:隧道端口进行请求
http://127.0.0.1:57407
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】数据输出格式控制

数据的输出格式修饰 常用两种&#xff1a; 整型中&#xff0c;输出数据左对齐、右对齐、占m位、不足m位前补0。浮点型中&#xff0c;默认通过四舍五入保留小数点后6位&#xff0c;通过参数设置保留小数点后n位。 #include <stdio.h> #define PI 3.14159 /* 功能&#x…

D43【python 接口自动化学习】- python基础之函数

day43 装饰器&#xff08;上&#xff09; 学习日期&#xff1a;20241020 学习目标&#xff1a;函数&#xfe63;- 56 装饰器&#xff1a;函数嵌套的定义与调用的区别 学习笔记&#xff1a; 变量作用域 变量读取顺序&#xff1a;local-》enclosed-》global-》builtin # 变量…

Spring MessageSource国际化原理

spring framework提供MessasgeSource来实现国际化。 MessageSource用法 准备properties文件&#xff0c;放在resources文件夹下面。这是默认语言和韩语的文件。 i18n/message.propertiesi18n/message_ko.properties 文件里面的内容是key-value格式,使用{0}、{1}作为变量占位…

【Next.js 项目实战系列】05-删除 Issue

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】04-修改 Issue 删除 Issue 添加删除 Button​ 本节代码链接 这里我们主要关注布局…

Win10 IDEA远程连接HBase

Win10 IDEA远程连接HBase Win10 IDEA连接虚拟机中的Hadoop&#xff08;HDFS&#xff09; 关闭Hadoop和Hbase 如果已经关闭不需要走这一步 cd /usr/local/hbase bin/stop-hbase.sh cd /usr/local/hadoop ./sbin/stop-dfs.sh获取虚拟机的ip 虚拟机终端输入 ip a关闭虚拟机…

VS Code开发qt项目

没整明白&#xff0c;尴尬 安装扩展 设置cmake路径 前提是已经安装了QT 报错 用msvc选windows启动&#xff0c;用mingw则选gdb启动

Vue3 新特性、Pinia

一、新特性 - defineOptions 背景说明 因为我们用了<script setup>语法&#xff0c;没办法给setup去提供一些平级的属性&#xff0c;官方就提供了一个叫做 defineOptions 的语法 所以在 Vue3.3 中引入了 defineOptions 宏&#xff0c;用来定义 Options API 的选项。可以…

[OpenCV] 数字图像处理 C++ 学习——17模板匹配详细讲解+附完整代码

文章目录 前言1.理论基础1.1模板匹配介绍1.2匹配算法介绍 2.代码实现2.1模块匹配(matchTemplate)2.2最佳匹配函数(minMaxLoc()) 3.完整代码 前言 模板匹配是图像处理和计算机视觉领域中的一种经典技术&#xff0c;它通过在大图像中搜索与小图像&#xff08;模板&#xff09;匹…

gewechat免费开源微信机器人开发

​聊天机器人&#xff0c;是一种通过自然语言模拟人类进行对话的程序。通常运行在特定的软件平台上&#xff0c;如PC平台或者移动终端设备平台。聊天机器人系统的主要功能是同用户进行基本沟通并自动回复用户有关产品或服务的问题&#xff0c;以实现降低企业客服运营成本、提升…

Tkinter 的布局pack() and grid()笔记

#encodingutf-8 import tkinter import re import tkinter.messagebox import tkinter.simpledialog import sys import os def get_resources_path(relative_path):if getattr(sys,frozen, False):base_pathsys._MEIPASS#获取临时文件else:base_pathos.path.dirname(".&q…

鸿蒙应用开发----西西购物商城(一)

目录 前言 一、项目介绍 二、项目结构 三、开发工具 四、样式展示 前言 harmonyos是华为推出的一款新一代操作系统&#xff0c;致力于打破设备间的边界&#xff0c;构建统一的智能生态。西西购物商城作为一款基于harmonyos开发的应用&#xff0c;能够利用鸿蒙的分布式技术…

R语言绘制Venn图(文氏图、温氏图、维恩图、范氏图、韦恩图)

Venn图&#xff0c;又称文氏图&#xff0c;标题中其他名字也是它的别称&#xff0c;由封闭圆形组成&#xff0c;代表不同集合。圆形重叠部分表示集合交集&#xff0c;非重叠处为独有元素。在生物学、统计学等领域广泛应用&#xff0c;可展示不同数据集相似性与差异&#xff0c;…

大数据新视界 --大数据大厂之大数据在智慧城市建设中的应用:打造智能生活的基石

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【MR开发】在Pico设备上接入MRTK3(一)——在Unity工程中导入MRTK3依赖

写在前面的话 在Pico上接入MRTK3&#xff0c;目前已有大佬开源。 https://github.com/Phantomxm2021/PicoMRTK3 也有值得推荐的文章。 MRTK3在PICO4上的使用小结 但由于在MacOS上使用MRTK3&#xff0c;无法通过Mixed Reality Feature Tool工具管理MRTK3安装包。 故记录一下…

集合collection和泛型

collection可以直接打印内容&#xff0c;而不是地址&#xff0c;内部已经重写了。 List家族&#xff1a; package com.itheima.d6_collection_update_delete;import java.util.ArrayList; import java.util.Iterator; import java.util.List;/**目标&#xff1a;研究集合遍历并…

Fooocus模型部署指南

一、介绍 Fooocus是一款开源的AI绘画工具&#xff0c;由斯坦福大学博士生张吕敏&#xff08;Github上用户名lllyasviel&#xff09;开发。是一款结合StableDiffusion和Midjourney理念的图像生成工具&#xff0c;提供离线、开源且易于使用的界面。它简化安装步骤&#xff0c;用…

【软件测试】JUnit

Junit 是一个用于 Java 编程语言的单元测试框架&#xff0c;Selenium是自动化测试框架&#xff0c;专门用于Web测试 本篇博客介绍 Junit5 文章目录 Junit 使用语法注解参数执行顺序断言测试套件 Junit 使用 本篇博客使用 Idea集成开发环境 首先&#xff0c;创建新项目&#…

【深度学习】评价指标

https://zhuanlan.zhihu.com/p/479060683 https://blog.csdn.net/fyfugoyfa/article/details/136414958 Confusion Matrix&#xff0c;是一个用来衡量模型好坏的统计量&#xff0c;其中Accuracy&#xff0c;Precision&#xff0c;F1 score&#xff0c;Recall&#xff0c;ROC曲线…

[SAP ABAP] SE11定义数据类型(结构与表类型)

1.定义结构 使用事务码SE11创建数据类型(结构)&#xff0c;输入自定义的数据类型名称&#xff0c;点击创建按钮 勾选结构并点击确定按钮 填写简短描述&#xff0c;并在"组件"页签上添加相关字段信息&#xff0c;点击激活按钮即可生效该结构ZSPO_HEADER_437 2.定义表…

企业网站设计之网站结构设计

创意主题网站的结构设计更是需要更为精心的策划和执行&#xff0c;以确保吸引并保持用户的注意力。以下是创意主题网站结构设计的关键要素&#xff1a; 1. 目标明确的导航栏 导航栏是用户进入网站并浏览内容的入口。在创意主题网站中&#xff0c;导航栏的设计要突显网站的主…