原文网址: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,内容如下:
K8S搭建nginx Hello World!
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: middle labels: name: middle --- # 创建Deployment apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment namespace: middle labels: app: nginx spec: # 副本的数量 replicas: 1 selector: # 选择app=nginx的Pod matchLabels: app: nginx # 选择或创建的Pod的模板 template: metadata: labels: app: nginx spec: # 容器的路径 containers: - image: nginx:latest name: nginx-latest ports: - containerPort: 80 name: nginx-80 # 容器内的路径 volumeMounts: - name: config mountPath: /etc/nginx/nginx.conf - name: config-include mountPath: /etc/nginx/conf.d/ - name: log mountPath: /var/log/nginx/ - name: html mountPath: /usr/share/nginx/html/ - name: cert mountPath: /etc/nginx/cert/ # 主机的路径 volumes: - name: config #和volumeMounts中的内容要对应 hostPath: path: /work/devops/k8s/app/nginx/config/nginx.conf type: 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-service namespace: middle labels: app: nginx spec: ports: - name: nginx-port port: 8000 # Service监听的端口 targetPort: 80 # nginx自身暴露的端口。对应Deployment的containerPort # 对外的端口号 nodePort: 30003 selector: 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
结果:
猜你喜欢
- 13天前(零碳中国·绿色投资蓝皮书)中国"零碳"差旅之路暨"绿色低碳酒店"标准研究项目成果发布会召开
- 13天前(四川率先建立“双定向”基层文化人才职称评审通道机制)四川率先建立“双定向”基层文化人才职称评审通道机制
- 13天前(万豪酒店 珠海)万豪酒店品牌启航珠海金湾,续写大湾区拓展新篇
- 13天前(瑞虎7plus2021款)重塑10万级SUV价值标杆,全新一代瑞虎7PLUS冠军版给你惊喜
- 13天前(东北地区全域旅游)东北三省一区宣传贯彻研学旅游行业标准
- 13天前(天气预报 华为)2025HDC华为天气上新系统级天气智能体,引领更智能的气象服务
- 13天前(中国最好的避暑山庄)2025中国十大避暑山庄评选揭晓,澳涞山庄夺魁
- 13天前(殷建祥简历)全国十大牛商解码:殷建祥如何用178天技术突围打造星空梦星空房
- 13天前(“三天跨两城”催生租车新需求,神州租车清明跨城订单同比增长416%)“三天跨两城”催生租车新需求,神州租车清明跨城订单同比增长416%
- 13天前(泸沽湖大酒店地址)泸沽湖岚岳酒店盛大开业|以摩梭文化为魂,打造高端度假新地标
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章