K8S--安装Nginx

原文网址:K8S--安装Nginx-CSDN博客

简介

本文介绍K8S安装Nginx的方法。

1.创建Nginx目录及配置文件

mkdir -p /work/devops/k8s/app/nginx/{config,html}

在config目录下创建nginx.conf配置文件,内容如下:

# events必须要有
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;include /etc/nginx/conf.d/*.conf;server{# 监听的端口listen 80;server_name _;root /usr/share/nginx/html/;index index.html;}
}

在html目录下创建index.html,内容如下:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>K8S搭建nginx</title>
</head>
<body><h1>Hello World!</h1>
</body>
</html>

2.编写K8S配置文件

此配置文件用于创建Namespace、Deployment、Service。

  • Namespace:命名空间,用于区分应用。
  • Deployment:用于生成pod。
  • Service:用于将pod暴露到集群中,供其他pod或者外部访问。

到/work/devops/k8s/app/nginx/路径下,创建名为k8s.yaml的配置文件

# 创建命名空间,Deployment和Service中要引用。
apiVersion: v1
kind: Namespace
metadata:name: middlelabels:name: middle
---
# 创建Deployment
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentnamespace: middlelabels:app: nginx
spec:# 副本的数量replicas: 1selector:# 选择app=nginx的PodmatchLabels:app: nginx# 选择或创建的Pod的模板template:metadata:labels:app: nginxspec:# 容器的路径containers:- image: nginx:latestname: nginx-latestports:- containerPort: 80name: nginx-80# 容器内的路径volumeMounts:- name: configmountPath: /etc/nginx/nginx.conf- name: config-includemountPath: /etc/nginx/conf.d/- name: logmountPath: /var/log/nginx/- name: htmlmountPath: /usr/share/nginx/html/- name: certmountPath: /etc/nginx/cert/# 主机的路径volumes:- name: config #和volumeMounts中的内容要对应hostPath:path: /work/devops/k8s/app/nginx/config/nginx.conftype: File- name: config-include #和volumeMounts中的内容要对应hostPath:path: /work/devops/k8s/app/nginx/config/conf.d/type: DirectoryOrCreate- name: log #和volumeMounts中的内容要对应hostPath:path: /work/devops/k8s/app/nginx/logs/type: DirectoryOrCreate- name: html #和volumeMounts中的内容要对应hostPath:path: /work/devops/k8s/app/nginx/html/type: DirectoryOrCreate- name: cert #和volumeMounts中的内容要对应hostPath:path: /work/devops/k8s/app/nginx/cert/type: DirectoryOrCreate
---
# 创建Service
apiVersion: v1
kind: Service
metadata:name: nginx-servicenamespace: middlelabels:app: nginx
spec:ports:- name: nginx-portport: 8000   # Service监听的端口targetPort: 80  # nginx自身暴露的端口。对应Deployment的containerPort# 对外的端口号nodePort: 30003selector:app: nginx# NodePort类型可以对外暴露端口type: NodePort

3.启动Nginx

到/work/devops/k8s/app/nginx/路径下,执行此命令:

kubectl apply -f k8s.yaml

结果:

4.查看启动结果

法1:通过dashboard查看

法2:通过命令查看

kubectl get pods -A

结果: 

kubectl get services -A

结果 

4.访问Nginx

测试1:外部访问NodePort

访问:ip:nodePort端口号

测试2:访问集群

curl 10.100.95.158:8000

结果:

测试3:访问容器内部

先进入容器内部,再访问容器端口。

1.找到pod的名字

kubectl get pods -A

结果:

2.进入容器内部 

kubectl exec nginx-deployment-557c7b98b6-8l5r5 -n middle -it -- bash

结果:

 

3.访问Nginx

curl localhost:80

结果

备注:可以通过Ctrl+D退出。 

5.删除Nginx

到/work/devops/k8s/app/nginx/路径下,执行此命令:

kubectl delete -f k8s.yaml

结果:

 

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

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

相关文章

C++ 设计模式之备忘录模式

【声明】本题目来源于卡码网&#xff08;题目页面 (kamacoder.com)&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 -- 什么是备忘录模式 &#xff08;第17种模式&#xff09; 备忘录模式&#xff08;Meme…

【第七在线】利用大数据与AI,智能商品计划的未来已来

随着科技的快速发展&#xff0c;大数据和人工智能(AI)已经成为各行各业变革的重要驱动力。在服装行业&#xff0c;这两大技术的结合正在深刻改变着传统的商品计划方式&#xff0c;引领着智能商品计划的未来。 一、大数据与AI在智能商品计划中的角色 大数据为智能商品计划提供了…

leetCode-42.接雨水

&#x1f4d1;前言 本文主要是【算法】——算法模拟的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&#xff…

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256&#xff1f;实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器&#xff0c;包括神经网络处理器 (KPU)&#xff0c;AES(高级加密加速器)&#xff0c;APU 麦克风阵列语音数据加速计算处理器&#xff0c;现场可…

Docker技巧汇总

Docker技巧汇总 前言使用流程安装配置镜像管理创建并运行容器使用容器/常用命令导出和导入查看元数据挂载数据卷端口映射/转发VS Code连接Docker 前言 Docker 是一个开源的应用容器引擎&#xff0c;可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…

【Unity】URP报错Object reference not set to an instance of an object

使用URP之后&#xff0c;Unity报错&#xff1a;显示不正常 NullReferenceException: Object reference not set to an instance of an object UnityEngine.Rendering.Universal.UniversalAdditionalCameraData.get_cameraStack () (at Library/PackageCache/com.unity.render-p…

项目上线存在的缓存问题以及存在的debugger和console.log等问题

下载uglifyjs-webpack-plugin插件 在vue.config文件中进行配置 publicPath: process.env.NODE_ENV production ? ./ : /,outputDir: n-sim-ipc-manage-build,productionSourceMap: false,configureWebpack: config > {//打包文件增加hashconfig.output.filename js/[nam…

LeetCode、2300. 咒语和药水的成功对数【中等,排序+二分】

文章目录 前言LeetCode、2300. 咒语和药水的成功对数【中等&#xff0c;排序二分】题目及类型思路及代码 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技术领域…

VB6.0 从内存地址获取String内容

VB6.0开发&#xff0c;调用了DLL中的方法去获取两个字符串&#xff0c;但实际返回字符串的地址。 怎样从地址得到完整的字符串内容呢&#xff1f;方法如下&#xff0c;核心是oleaut32.dll中的SysAllocStringByteLen方法&#xff1a; Private Declare Function SysAllocString…

插件分享 Chrome浏览器实现外语翻译自由

【有道灵动翻译】使用有道翻译大模型&#xff0c;沉浸式网页翻译的首选工具&#xff01; 实时对照翻译:让任何网页变成对照。输入框即时翻译:输入中文轻松变英文。 &#x1f525;功能亮点&#x1f525;&#xff1a; 实时对照翻译&#xff1a;使用有道翻译大模型&#xff0c;无…

探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧

在软件开发的赛场上&#xff0c;单例模式以其独特的魅力长期占据着重要的地位。作为设计模式中的一员&#xff0c;它在整个软件工程的棋盘上扮演着关键性角色。本文将带你深入探索单例模式的神秘面纱&#xff0c;从历史渊源到现代应用&#xff0c;从基础实现到高级技巧&#xf…

GET气象台最新发布的气象预警数据

1. 项目需求&#xff1a; 获取济南地区或整个山东地区的所有城市气象灾害预警信息 2. 对接流程 请求接口请求参数返回内容对接数据 1. 请求接口 请将线路地址设置在服务端, 接口线路有多条, 其中一条出问题, 可以及时切换到另外一条线路 线路1&#xff1a;http://v1.yiket…