启动Nginx服务器并更新其配置并获取;default.conf不是文件或不存在;

启动Nginx服务器并更新其配置并获取;default.conf不是文件或不存在;,nginx,kubernetes,amazon-eks,Nginx,Kubernetes,Amazon Eks,我正在尝试在Kubernetes中部署nginx服务器。我只是尝试启动一台服务器,并通过负载平衡器查看它,同时还可以修改nginx配置 使用以下配置,我无法启动nginx web服务器pod $ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-696c84fd7b-dr9hv 0/1 Error 3 55s 查看pod日志,我得到以下信息: $ k

我正在尝试在Kubernetes中部署nginx服务器。我只是尝试启动一台服务器,并通过负载平衡器查看它,同时还可以修改nginx配置

使用以下配置,我无法启动nginx web服务器pod

$ kubectl get pods
NAME                     READY   STATUS   RESTARTS   AGE
nginx-696c84fd7b-dr9hv   0/1     Error    3          55s
查看pod日志,我得到以下信息:

$ kubectl logs nginx-696c84fd7b-dr9hv
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: /etc/nginx/conf.d/default.conf is not a file or does not exist, exiting
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2020/06/30 22:52:03 [emerg] 1#1: no "events" section in configuration
nginx: [emerg] no "events" section in configuration
我假设我的配置有问题。我是否需要更改它以覆盖或创建default.conf

仅供参考-这将在AWS EKS集群中出现

下面是我使用“kubectl create-f nginx_deployment.yaml”启动的整个yaml:

我尝试将ir替换为default.conf,但它只是永远挂起在“containercreating”状态

在部署部分所做的更改-

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
        - mountPath: /etc/nginx/conf.d # mount nginx-conf volumn to /etc/nginx
          readOnly: true
          name: nginx-conf
      volumes:
      - name: nginx-conf
        configMap:
          name: nginx-conf # place ConfigMap `nginx-conf` on /etc/nginx
          items:
            - key: default.conf
              path: default.conf
      - name: log
        emptyDir: {}

你能详细说明一下你想要实现什么吗?是否要从文档中进行部署?或者你想用?如果您希望Nginx创建
LoadBalancer
,我想您应该考虑
Nginx入口控制器
。请指定。
events{…}
block是nginx配置所必需的,请参阅Q/A以了解最低限度的nginx配置示例。
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
        - mountPath: /etc/nginx/conf.d # mount nginx-conf volumn to /etc/nginx
          readOnly: true
          name: nginx-conf
      volumes:
      - name: nginx-conf
        configMap:
          name: nginx-conf # place ConfigMap `nginx-conf` on /etc/nginx
          items:
            - key: default.conf
              path: default.conf
      - name: log
        emptyDir: {}