16.使用豆包将docker-compose的yaml转为k8s的yaml,安装各种无状态服务

文章目录

  • docker方式
    • httpbin
    • it-tools
    • linux-command
    • myip
    • reference
  • docker-compose安装
  • k8s方式

docker方式

httpbin

A simple HTTP Request & Response Service
https://httpbin.org/
https://github.com/postmanlabs/httpbin
https://github.com/mccutchen/go-httpbin

docker rm -f httpbin;
docker run --name httpbin \
--network macvlan -dp 80:80 \
--restart=always \
kennethreitz/httpbin

it-tools

Handy tools for developers
https://it-tools.tech/
https://github.com/CorentinTh/it-tools

docker run --name it-tools \
--network macvlan -p 80:80 \ 
--restart unless-stopped \
corentinth/it-tools

linux-command

Linux命令搜索
https://wangchujiang.com/linux-command/
https://github.com/jaywcjlove/linux-command

docker rm -f linux-command;
docker run --name linux-command \
--network macvlan -dp 3000:3000 \
--restart=always \
wcjiang/linux-command

myip

IP 信息
https://ipcheck.ing/
https://github.com/jason5ng32/MyIP

docker rm -f myip;
docker run --name myip \
--network macvlan -dp 18966:18966 \
--restart=always \
jason5ng32/myip

reference

Share quick reference cheat sheet for developers
https://wangchujiang.com/reference/
https://github.com/jaywcjlove/reference
https://hub.docker.com/r/wcjiang/reference

docker rm -f reference;
docker run --name reference \
--network macvlan -dp 3000:3000 \
--restart=always \
wcjiang/reference

docker-compose安装

docker-compose up -d
name: stateless
services:httpbin:container_name: httpbinports:- 80restart: alwaysimage: kennethreitz/httpbinit-tools:container_name: it-toolsports:- 80restart: unless-stoppedimage: corentinth/it-toolslinux-command:container_name: linux-commandports:- 3000restart: alwaysimage: wcjiang/linux-commandmyip:container_name: myipports:- 18966restart: alwaysimage: jason5ng32/myipreference:container_name: referenceports:- 3000restart: alwaysimage: wcjiang/reference

k8s方式

用豆包生成k8s的yaml:

将上面的docker-compose转为k8s yaml格式,并配置对应traefik。
放到一个文件中吧,把example.com改为k8s.home.love。
kubectl apply -f all.yaml -n stateless
---
apiVersion: apps/v1
kind: Deployment
metadata:name: httpbin-deployment
spec:replicas: 1selector:matchLabels:app: httpbintemplate:metadata:labels:app: httpbinspec:containers:- name: httpbinimage: kennethreitz/httpbinports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: httpbin-service
spec:selector:app: httpbinports:- protocol: TCPport: 80targetPort: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:name: httpbin-ingressroute
spec:entryPoints:- webroutes:- match: Host(`httpbin.k8s.home.love`)kind: Ruleservices:- name: httpbin-serviceport: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:name: it-tools-deployment
spec:replicas: 1selector:matchLabels:app: it-toolstemplate:metadata:labels:app: it-toolsspec:containers:- name: it-toolsimage: corentinth/it-toolsports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: it-tools-service
spec:selector:app: it-toolsports:- protocol: TCPport: 80targetPort: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:name: it-tools-ingressroute
spec:entryPoints:- webroutes:- match: Host(`it-tools.k8s.home.love`)kind: Ruleservices:- name: it-tools-serviceport: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:name: linux-command-deployment
spec:replicas: 1selector:matchLabels:app: linux-commandtemplate:metadata:labels:app: linux-commandspec:containers:- name: linux-commandimage: wcjiang/linux-commandports:- containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:name: linux-command-service
spec:selector:app: linux-commandports:- protocol: TCPport: 3000targetPort: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:name: linux-command-ingressroute
spec:entryPoints:- webroutes:- match: Host(`linux-command.k8s.home.love`)kind: Ruleservices:- name: linux-command-serviceport: 3000
---
apiVersion: apps/v1
kind: Deployment
metadata:name: myip-deployment
spec:replicas: 1selector:matchLabels:app: myiptemplate:metadata:labels:app: myipspec:containers:- name: myipimage: jason5ng32/myipports:- containerPort: 18966
---
apiVersion: v1
kind: Service
metadata:name: myip-service
spec:selector:app: myipports:- protocol: TCPport: 18966targetPort: 18966
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:name: myip-ingressroute
spec:entryPoints:- webroutes:- match: Host(`myip.k8s.home.love`)kind: Ruleservices:- name: myip-serviceport: 18966
---
apiVersion: apps/v1
kind: Deployment
metadata:name: reference-deployment
spec:replicas: 1selector:matchLabels:app: referencetemplate:metadata:labels:app: referencespec:containers:- name: referenceimage: wcjiang/referenceports:- containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:name: reference-service
spec:selector:app: referenceports:- protocol: TCPport: 3000targetPort: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:name: reference-ingressroute
spec:entryPoints:- webroutes:- match: Host(`reference.k8s.home.love`)kind: Ruleservices:- name: reference-serviceport: 3000    

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

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

相关文章

Day(22)--网络编程习题

习题 以下是这些 TCP 通信练习题的 Java 代码实现及解析: TCP 通信练习 1 - 多发多收 客户端(Client1.java) java import java.io.IOException; import java.io.OutputStream; import java.net.Socket; ​ public class Client1 {public…

20、.NET SDK概述

.NET SDK(Software Development Kit) 是微软提供的一套开发工具包,用于构建、运行和管理基于 .NET 平台的应用程序。它包含了一组丰富的工具、库和运行时环境,支持开发者在多种操作系统(如 Windows、Linux 和 macOS&am…

DELL电脑开机进入自检界面

疑难解答 - 如何解决开机直接进入BIOS画面 添加链接描述 一、DELL电脑开机自检提示please run setup program 未设置一天中的时间-请运行安装程序(Time-of-day not set - please run SETUP program) 配置信息无效-请运行安装程序(Invalid configuration information - ple…

2025 最新版 Node.js 下载安装及环境配置详细教程【保姆级】

2025 最新版 Node.js 下载安装及环境配置详细教程【保姆级】 一、下载安装二、环境配置三、缓存配置、全局配置以及更换国内淘宝镜像源 一、下载安装 下载地址:Node.js 官方下载地址 双击安装,点击 Change 更改安装位置。我只有一个C盘,这里…

2025年4月通信科技领域周报(4.07-4.13):6G技术加速落地 卫星通信网络迎来组网高潮

2025年4月通信科技领域周报(4.07-4.13):6G技术加速落地 卫星通信网络迎来组网高潮 目录 2025年4月通信科技领域周报(4.07-4.13):6G技术加速落地 卫星通信网络迎来组网高潮一、本周热点回顾1. 华为发布全球首…

vxe-table 动态列筛选,以及筛选项动态变化的解决方案记录

需求场景: table 的列是由接口动态返回的;列的筛选项就是数据的值,比如【姓名】这个字段总共有三个值,那么姓名这一列的筛选项就是这三个值本身;当有一列筛选后,其他列的筛选项也要动态变化。 vxe-table …

UE5游戏分辨率设置和窗口模式

第一种方法: 在项目配置Config文件夹下新建 DefaultGameUserSettings.ini 输入代码 [/Script/Engine.GameUserSettings] bUseVSyncFalse ResolutionSizeX1960 ResolutionSizeY1080 LastUserConfirmedResolutionSizeX800 LastUserConfirmedResolutionSizeY600 WindowPosX-1 …

链表知识回顾

类型:单链表,双链表、循环链表 存储:在内存中不是连续存储 删除操作:即让c的指针指向e即可,无需释放d,因为java中又内存回收机制 添加节点: 链表的构造函数 public class ListNode {// 结点…

详解与FTP服务器相关操作

目录 什么是FTP服务器 搭建FTP服务器相关 ​编辑 Unity中与FTP相关的类 上传文件到FTP服务器 使用FTP服务器上传文件的关键点 开始上传 从FTP服务器下载文件到客户端 使用FTP下载文件的关键点 开始下载 关于FTP服务器的其他操作 将文件的上传,下载&…

Day92 | 灵神 | 二叉树 路径总和

Day92 | 灵神 | 二叉树 路径总和 112.路径总和 112. 路径总和 - 力扣(LeetCode) 思路: 1.递归函数意义 如果在根节点为t的树中可以找到长度为target的路径就返回true,找不到就返回false 2.参数和返回值 bool tra(TreeNode …

探索鸿蒙应用开发:ArkTS应用执行入口揭秘

# 探索鸿蒙应用开发:ArkTS应用执行入口揭秘 在鸿蒙应用开发的领域中,ArkTS作为声明式开发语言,为开发者们带来了便捷与高效。对于刚接触鸿蒙开发的小伙伴来说,搞清楚ArkTS应用程序的执行入口是迈向成功开发的关键一步。今天&…

【Web API系列】Web Shared Storage API之WorkletSharedStorage深度解析与实践指南

前言 在现代Web开发领域,数据存储与隐私保护的矛盾始终存在。传统存储方案如LocalStorage和Cookies面临着日益严格的安全限制,而跨域数据共享的需求却在持续增长。正是在这样的背景下,Web Shared Storage API应运而生,其核心组件…

探索鸿蒙沉浸式:打造无界交互体验

一、鸿蒙沉浸式简介 在鸿蒙系统中,沉浸式是一种极具特色的设计理念,它致力于让用户在使用应用时能够全身心投入到内容本身,而尽可能减少被系统界面元素的干扰。通常来说,就是将应用的内容区巧妙地延伸到状态栏和导航栏所在的界面…

机器学习03——K近邻

K近邻算法学习笔记 一、算法简介 K近邻算法(K - Nearest Neighbors,简称KNN)是一种简单而有效的分类和回归算法。它的核心思想是“近朱者赤,近墨者黑”,即一个数据点的类别或值可以通过其周围最近的K个邻居来判断。K…

序列化 反序列化实例

在Python中, pickle 模块常用于实现对象的序列化和反序列化,以下是一个简单的实例: import pickle # 定义一个类 class Person: def __init__(self, name, age): self.name name self.age age # 创建一个Person对象 person Person("…

代码随想录算法训练营第十九天

LeetCode题目: 77. 组合216. 组合总和 III17. 电话号码的字母组合2537. 统计好子数组的数目(每日一题)516. 最长回文子序列1039. 多边形三角剖分的最低得分543. 二叉树的直径124. 二叉树中的最大路径和2246. 相邻字符不同的最长路径 其他: 今日总结 往期打卡 77. 组合 跳转: 7…

存算分离看场景

计算机行业是唯一一个比时装行业概念更多的行业。概念频出,最慢的话半年一定出一个,短的话半个月就能看到新的名词和技术甚至是概念。 存算分离的概念 我第一次听到存算分离时候还是从Hadoop上听到的。然后就去问什么是存算分离。听了讲解以后&#xf…

MCP协议,.Net 使用示例

服务器端示例 基础服务器 以下是一个基础的 MCP 服务器示例,它使用标准输入输出(stdio)作为传输方式,并实现了一个简单的回显工具: using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.H…

智能语音处理+1.5使用PocketSphinxshinx实现语音转文本(100%教会)

欢迎来到智能语音处理系列的最后一篇文章,到这里,基本上语音处理是没问题了. 第一篇:智能语音处理1.1下载需要的库(100%实现)-CSDN博客 第二篇:智能语音识别1.2用SAPI实现文本转语音(100%教会)-CSDN博客 第三篇:智能语音处理1.3用SpeechLib实现文本转语音(100%教会)…

Kubernetes 节点摘除指南

目录 一、安全摘除节点的标准流程 1. 确认节点名称及状态 2. 标记节点为不可调度 3. 排空(Drain)节点 4. 删除节点 二、验证节点是否成功摘除 1. 检查节点列表 2. 检查节点详细信息 3. 验证 Pod 状态 三、彻底清理节点(可选&#xf…