ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

新建k8s nginx容器(需要外网访问)

2022-06-02 15:35:45  阅读:112  来源: 互联网

标签:容器 log nginx conf test k8s name


第一步,创建deploy

apiVersion: extensions/v1beta1   #k8s版本不同,api可能也不同
kind: Deployment
metadata:
  name: mynginx
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: web
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - name: nginx
          containerPort: 80
        volumeMounts:
          - name: html-config
            mountPath: /etc/nginx/conf.d/nginx.conf
            subPath: nginx.conf
            readOnly: true
          - name: nginx-logs
            mountPath: /var/log/nginx/
      volumes:
      - name: html-config
        configMap:
          name: nginx.conf
      - name: nginx-logs
        hostPath:
          path: /test-nginx/logs/

2.创建configmap文件挂载到容器中

kubectl create cm nginx.conf --from-file=./nginx.conf

nginx.conf内容如下

server{
        listen       80;
        server_name             test-nginx.test.net;
        access_log              /var/log/nginx/access.log main;
        error_log               /var/log/nginx/error.log error;

        location / {
                return 200;
        }
}

3.创建ingress,使nginx可以通过域名访问

apiVersion: extensions/v1beta1    #k8s版本不同,api可能也不同
kind: Ingress
metadata:
  name: test-nginx
  namespace: default
spec:
  rules:
  - host: test-nginx.test.net #域名
    http:
      paths:
      - backend:
          serviceName: service-nginx    #关联后端的svc
          servicePort: 80         #svc的端口号
status:
  loadBalancer:
    ingress:
    - ip: xxx.xxx.xxx.xxx                 #阿里云的k8s的负载均衡地址

4.添加阿里云dns域名解析

 

5.现在就可以在外放访问域名了

标签:容器,log,nginx,conf,test,k8s,name
来源: https://www.cnblogs.com/fengzi7314/p/16337852.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有