利用minikube部署k8s集群并部署lnmp服务

news2024/11/15 15:27:18

部署minikube

参考官网进行安装部署

利用minikube部署k8s集群

1. 部署k8s集群

minikube start

k8s集群部署lnmp

1. 将如下内容存储为lnmp.yaml文件

---

apiVersion: v1

kind: Namespace

metadata:

name: lnmp

---

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: mysql-data

namespace: lnmp

spec:

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 1Gi

---

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: nginx-html

namespace: lnmp

spec:

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 1Gi

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: mysql

namespace: lnmp

spec:

selector:

matchLabels:

app: mysql

strategy:

type: Recreate

template:

metadata:

labels:

app: mysql

spec:

containers:

- image: mysql:8.0

name: mysql

env:

- name: MYSQL_ROOT_PASSWORD

value: password

ports:

- containerPort: 3306

name: mysql

volumeMounts:

- name: mysql-data

mountPath: /var/lib/mysql

volumes:

- name: mysql-data

persistentVolumeClaim:

claimName: mysql-data

---

apiVersion: v1

kind: Service

metadata:

name: mysql

namespace: lnmp

spec:

ports:

- port: 3306

selector:

app: mysql

clusterIP: None

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: nginx-php-fpm

namespace: lnmp

spec:

replicas: 1

selector:

matchLabels:

app: nginx-php-fpm

template:

metadata:

labels:

app: nginx-php-fpm

spec:

containers:

- name: nginx

image: nginx:1.19

ports:

- containerPort: 80

volumeMounts:

- name: nginx-conf

mountPath: /etc/nginx/nginx.conf

subPath: nginx.conf

- name: nginx-html

mountPath: /usr/share/nginx/html

- name: php-fpm

image: php:7.4-fpm

volumeMounts:

- name: nginx-html

mountPath: /var/www/html

volumes:

- name: nginx-conf

configMap:

name: nginx-conf

- name: nginx-html

persistentVolumeClaim:

claimName: nginx-html

---

apiVersion: v1

kind: Service

metadata:

name: nginx-php-fpm

namespace: lnmp

spec:

type: NodePort

ports:

- port: 80

targetPort: 80

selector:

app: nginx-php-fpm

---

apiVersion: v1

kind: ConfigMap

metadata:

name: nginx-conf

namespace: lnmp

data:

nginx.conf: |

user nginx;

worker_processes 1;

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

location / {

root /usr/share/nginx/html;

index index.html index.htm index.php;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;

include fastcgi_params;

}

}

}

2. 执行应用部署

kubectl apply -f lnmp.yaml

3. 验证应用是否正常运行

kubectl get pods -n lnmp
kubectl get svc nginx-php-fpm -n lnmp

4. 测试服务是否正常

#进入Pod
kubectl exec -it $(kubectl get pod -l app=nginx-php-fpm -n lnmp -o jsonpath='{.items[0].metadata.name}') -n lnmp -c nginx -- /bin/bash

#创建info.php文件做测试
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

5. 访问服务,验证是否成功

 minikube service nginx-php-fpm -n lnmp

若无异常可以看到正确调整到网页,然后更改访问的路径,验证访问无异常

参考资料

工具部署安装 Install Tools | Kubernetes

minikube start | minikube

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

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

相关文章

请注意,这是第一届程序化售卖广告的奥运会

作者&#xff1a;刀客doc 巴黎奥运会收官了。很多人在谈郑钦文的商业价值、哪个品牌押中了奥运冠军时&#xff0c;却忽略了一个新闻&#xff1a; 这是第一届程序化售卖广告的奥运会&#xff1a;NBC环球通过旗下的流媒体平台 Peacock&#xff0c;以程序化方式销售巴黎奥运会期…

基于java的私人牙科诊所管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于java的私人牙科诊所管理系统,java项…

文心一言 VS 讯飞星火 VS chatgpt (325)-- 算法导论22.5 1题

一、如果在图G中加入一条新的边&#xff0c;G中的强连通分量的数量会发生怎样的变化&#xff1f;如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 在图G中加入一条新的边&#xff0c;其对强连通分量&#xff08;Strongly Connected Components, SCCs&#xff09;…

海量数据处理商用短链接生成器平台 - 1

第一章 海量数据处理商用短链接生成器平台介绍 第1集 什么是短链接生成器 短链接生成器是一种工具&#xff0c;可以将较长的链接转换成较短的链接。这种工具在许多场景中都很有用&#xff0c;包括营销、社交媒体分享和数据报告等。以下是一些关于短链接生成器的优点和作用&…

VS实用调试技巧(程序员的必备技能)

调试的重要性 在我们写代码的时候&#xff0c;如果程序出现了bug&#xff0c;那么下一步就是找到bug并修复bug!而这个找问题的过程就被称为调试&#xff08;英文叫debug&#xff0c;消灭bug的意思&#xff09;。 调试能观察到程序内部执行的细节&#xff0c;可以增加程序员对…

5大低代码开源平台案例研究

在当今快速发展的数字化时代&#xff0c;企业面临着越来越复杂的技术挑战和市场竞争。为了保持竞争力并加速业务创新&#xff0c;许多公司正在转向低代码开源平台。然而&#xff0c;选择合适的低代码平台并将其成功实施&#xff0c;依然是一个挑战。 本文将深入探讨五个成功案…

OpenAI gym: How to get pixels in CartPole-v0

题意&#xff1a;OpenAI Gym&#xff1a;如何在 CartPole-v0 中获取像素&#xff1f; 问题背景&#xff1a; I would like to access the raw pixels in the OpenAI gym CartPole-v0 environment without opening a render window. How do I do this? 我想在 OpenAI Gym 的 …

RAC11G场景下OLR文件丢失导致节点GI无法启动

环境说明 RHEL7.911.2.0.4 RAC&#xff0c;双节点。 问题描述 巡检发现节点2的GI无法启动&#xff0c;发现是olr文件丢失导致。 问题复现 故意把OLR删掉&#xff0c;重启后发现GI无法启动 查看/etc/oracle/olr.loc --查看/etc/oracle/olr.loc 该文件记录有olr文件位置和…

密探 -- 渗透测试工具 v1.14 版

1.如何运行 在jdk8环境下&#xff08;在jdk8以上的高版本请参考常见问题1的处理方案&#xff09;运行以下语句运行: java -jar mitan-jar-with-dependencies.jar 若不想输入这么长太长语句&#xff0c;可以通过以下脚本的方式启动&#xff1a; Mac/Linux 环境下&#xff0c;…

计算机网络——运输层(进程之间的通信、运输层端口,UDP与TCP、TCP详解)

运输层协议概述 进程之间的通信 运输层向它上面的应用层提供通信服务。 当网络边缘部分的两台主机使用网络核心部分的功能进行端到端的通信时&#xff0c;都要使用协议栈中的运输层&#xff1b;而网络核心部分中的路由器在转发分组时只用到下三层的功能。 Q1&#xff1a;我们…

【最短路径算法】

每日格言&#xff1a;想去的地方很遥远&#xff0c;我们也只能自己走 前言 最短路径算法是一类用于解决图中两点间寻找最短路径问题的算法。这里我们只具体介绍利用matlab中的函数实现&#xff0c;迪克斯特拉算法和弗洛伊德算法大家有兴趣可上网了解一下。这类算法在多个领域都…

安全稳定的镭速高端制造业文件传输摆渡系统

在现代制造业的高速发展中&#xff0c;高端制造领域尤为依赖高效的文件传输系统&#xff0c;这类系统不仅促进了企业内部的合作&#xff0c;还加强了与合作伙伴的紧密联系&#xff0c;成为推动创新和决策的关键因素。镭速文件传输系统正是为了满足这一需求而设计&#xff0c;其…

KamaCoder 102. 沉没孤岛

题目描述&#xff1a; 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域&#xff0c;且完全被水域单元格包围。孤岛是那些位于矩阵内部、所有单元格都不接触边缘的岛屿…

如何做好小程序评论优化

用户在决定要不要用一个小程序时&#xff0c;往往会参考其他用户的评分和评论。因此小程序评论优化是提升用户互动和口碑传播的关键环节。以下是一些针对小程序评论优化的具体策略&#xff1a; 1. 优化评论区设计 确保用户能够轻松找到并访问评论区。可以在小程序的显眼位置设…

netassist TCP测试工具使用

写在前面 有时工作中我们编写一些tcp相关的程序&#xff0c;而netassist就是这样一款辅助我们进行TCP功能测试的工具&#xff0c;你可以从这里下载。 1&#xff1a;使用 我们需要一个server程序&#xff0c;可以参考这篇文章&#xff0c;启动server后&#xff0c;就可以使用…

集美大学携手和鲸与龙船,深化“航运+AI”学科建设,赋能航海人才培养

“闽国扬帆去&#xff0c;蟾蜍亏复圆。” ——唐贾岛 《忆江上吴处士》 人类探索海洋的脚步从未停止。昔日&#xff0c;闽地的先民眺望浩瀚大海&#xff0c;叹其无垠难测&#xff1b;如今&#xff0c;海洋科学与人工智能的交叉融合正引领着新一轮的探索浪潮&#xff0c;成为不…

智能学习系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的智能学习系统应运而生&#xff0c;各行各业相继进入信息管理时…

高性价比运动耳机有哪些?五大高性价比运动耳机分享

对于很多人来说&#xff0c;音乐都是日常生活中不可或缺的一部分&#xff0c;在路上随处可见戴着耳机的人打发无聊的时间。相对于传统的入耳式耳机来说&#xff0c;市面上涌现了一批开放式耳机&#xff0c;它们凭借其开放不塞耳的特性&#xff0c;能够适应多种场景&#xff0c;…

telegraf、influxdb、grafana安装配置

InfluxDB&#xff08;时序数据库&#xff09;&#xff0c;常用的一种使用场景&#xff1a;监控数据统计。 grafana&#xff0c;用作监控页面的前端展示。 telegraf&#xff0c;数据采集器。 一、Influxdb安装及配置 下载&#xff1a;wget https://dl.influxdata.com/influx…

RFID无线测温系统,守护电厂安全运行的关键力量

一、RFID无线测温系统概述 RFID无线测温系统主要由传感器、数据传输装置和监控中心三部分组成。 传感器是系统的感知前端&#xff0c;通常采用RFID技术&#xff0c;能够实时感知温度变化。例如&#xff0c;在一些应用中&#xff0c;RFID传感器可以安装在电力设备的关键部位&a…