Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 我能';无法获得入口服务工作的基本示例_Nginx_Kubernetes_K3s - Fatal编程技术网

Nginx 我能';无法获得入口服务工作的基本示例

Nginx 我能';无法获得入口服务工作的基本示例,nginx,kubernetes,k3s,Nginx,Kubernetes,K3s,我正在为一个面向nginx吊舱的入口服务的非常基本的示例而挣扎。每当我尝试访问我的示例站点时,我都会得到以下简单的文本输出,而不是默认的nginx页面: 404 page not found 以下是我正在使用的部署: apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 4 selector: matchLa

我正在为一个面向nginx吊舱的入口服务的非常基本的示例而挣扎。每当我尝试访问我的示例站点时,我都会得到以下简单的文本输出,而不是默认的nginx页面:

404 page not found
以下是我正在使用的部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 4
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: default
spec:
  rules:
  - host: argo.corbe.net
    http:
      paths:
      - backend:
          serviceName: ningx
          servicePort: 80
k3s kubectl获得吊舱-o宽:

NAME                              READY   STATUS    RESTARTS   AGE   IP           NODE    NOMINATED NODE   READINESS GATES
nginx-deployment-d6dcb985-942cz   1/1     Running   0          8h    10.42.0.17   k3s-1   <none>           <none>
nginx-deployment-d6dcb985-d7v69   1/1     Running   0          8h    10.42.0.18   k3s-1   <none>           <none>
nginx-deployment-d6dcb985-dqbn9   1/1     Running   0          8h    10.42.1.26   k3s-2   <none>           <none>
nginx-deployment-d6dcb985-vpf79   1/1     Running   0          8h    10.42.1.25   k3s-2   <none>           <none>
NAME READY STATUS重新启动老化IP节点指定节点就绪门
nginx-deployment-d6dcb985-942cz 1/1运行0 8h 10.42.0.17 k3s-1
nginx-deployment-d6dcb985-d7v69 1/1运行0 8h 10.42.0.18 k3s-1
nginx-deployment-d6dcb985-dqbn9 1/1运行0 8h 10.42.1.26 k3s-2
nginx-deployment-d6dcb985-vpf79 1/1运行0 8h 10.42.1.25 k3s-2
k3s kubectl-o全方位获取服务:

NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE   SELECTOR
kubernetes      ClusterIP   10.43.0.1       <none>        443/TCP   5d    <none>
nginx-service   ClusterIP   10.43.218.234   <none>        80/TCP    8h    app=nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP端口年龄选择器
kubernetes ClusterIP 10.43.0.1 443/TCP 5d
nginx服务群集IP 10.43.218.234 80/TCP 8h应用程序=nginx
k3s kubectl-o宽通道入口:

NAME            CLASS    HOSTS            ADDRESS          PORTS   AGE
nginx-ingress   <none>   argo.corbe.net   207.148.25.119   80      8h
NAME类主机地址端口年龄
nginx入口argo.corbe.net 207.148.25.119 80 8h
k3s kubectl描述部署nginx部署:

Name:                   nginx-deployment
Namespace:              default
CreationTimestamp:      Mon, 22 Feb 2021 15:19:07 +0000
Labels:                 app=nginx
Annotations:            deployment.kubernetes.io/revision: 2
Selector:               app=nginx
Replicas:               4 desired | 4 updated | 4 total | 4 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  app=nginx
  Containers:
   nginx:
    Image:        nginx
    Port:         8080/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   nginx-deployment-7848d4b86f (4/4 replicas created)
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  2m43s  deployment-controller  Scaled up replica set nginx-deployment-7848d4b86f to 1
  Normal  ScalingReplicaSet  2m43s  deployment-controller  Scaled down replica set nginx-deployment-d6dcb985 to 3
  Normal  ScalingReplicaSet  2m43s  deployment-controller  Scaled up replica set nginx-deployment-7848d4b86f to 2
  Normal  ScalingReplicaSet  2m40s  deployment-controller  Scaled down replica set nginx-deployment-d6dcb985 to 2
  Normal  ScalingReplicaSet  2m40s  deployment-controller  Scaled up replica set nginx-deployment-7848d4b86f to 3
  Normal  ScalingReplicaSet  2m40s  deployment-controller  Scaled down replica set nginx-deployment-d6dcb985 to 1
  Normal  ScalingReplicaSet  2m40s  deployment-controller  Scaled up replica set nginx-deployment-7848d4b86f to 4
  Normal  ScalingReplicaSet  2m38s  deployment-controller  Scaled down replica set nginx-deployment-d6dcb985 to 0
Name:nginx部署
名称空间:默认值
CreationTimestamp:2021年2月22日星期一15:19:07+0000
标签:app=nginx
注释:deployment.kubernetes.io/revision:2
选择器:app=nginx
副本:需要4份|更新4份|共4份|可用4份|不可用0份
策略类型:RollingUpdate
最小就绪秒:0
滚动更新策略:最多25%不可用,最多25%喘振
Pod模板:
标签:app=nginx
容器:
nginx:
图片:nginx
端口:8080/TCP
主机端口:0/TCP
环境:
挂载:
卷数:
条件:
类型状态原因
----           ------  ------
可用真最小值ReplicasAvailable
正在进行的True NewReplicateSetAvailable
旧复制集:
NewReplicaSet:nginx-deployment-7848d4b86f(创建了4/4个副本)
活动:
从消息中键入原因年龄
----    ------             ----   ----                   -------
正常扩展复制集2m43s部署控制器将复制集nginx-deployment-7848d4b86f扩展为1
正常扩展复制集2m43s部署控制器将复制集nginx-deployment-d6dcb985缩减为3
正常扩展复制集2m43s部署控制器将复制集nginx-deployment-7848d4b86f扩展为2
正常缩放复制集2m40s部署控制器将复制集nginx-deployment-d6dcb985缩小为2
正常扩展复制集2m40s部署控制器将复制集nginx-deployment-7848d4b86f扩展到3
正常缩放复制集2m40s部署控制器将复制集nginx-deployment-d6dcb985缩小为1
正常扩展复制集2m40s部署控制器将复制集nginx-deployment-7848d4b86f扩展到4
正常缩放复制集2m38s部署控制器将复制集nginx-deployment-d6dcb985缩小为0

您将获得404,这意味着在您使用nginx或入口之前,请求将一直发出

现在您的入口可能有问题

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: default
spec:
  rules:
  - host: argo.corbe.net
    http:
      paths:
      - backend:
          serviceName: ningx
          servicePort: 80
检查您正在使用的服务名称
serviceName:ningx

它应该是nginx服务

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: default
spec:
  rules:
  - host: argo.corbe.net
    http:
      paths:
      - backend:
          serviceName: nginx-service
          servicePort: 80

整个流程将类似于:
DNS>ingres>service(nginx服务)>deployment(nginx部署)或pod副本。
默认情况下,nginx映像侦听端口80上的连接

$ kubectl run --image nginx
$ kubectl exec -it nginx -- bash
root@nginx:/# apt update
    **output hidden**
root@nginx:/# apt install iproute2
    **output hidden**
root@nginx:/# ss -lunpt
Netid     State      Recv-Q     Send-Q         Local Address:Port         Peer Address:Port                                     
tcp       LISTEN     0          0                    0.0.0.0:80                0.0.0.0:*        users:(("nginx",pid=1,fd=7))    
tcp       LISTEN     0          0                          *:80                      *:*        users:(("nginx",pid=1,fd=8))    
请注意,打开的是端口80,而不是端口8080。 这意味着您的服务配置错误,因为它转发到端口8080

您应该将目标端口设置为80,如下所示:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80    # <- HERE
作为备份,您可以使用不同名称的服务:

- backend:
    serviceName: ningx
将其更改为服务的实际名称,如下所示:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: default
spec:
  rules:
  - host: argo.corbe.net
    http:
      paths:
      - backend:
          serviceName: ningx-service
          servicePort: 80
应用更改,它现在应该可以工作了

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: default
spec:
  rules:
  - host: argo.corbe.net
    http:
      paths:
      - backend:
          serviceName: ningx-service
          servicePort: 80