使用Helm部署GitLab。 Nginx-ingress pod无法启动

时间:2018-05-30 21:39:51

标签: kubernetes gitlab kubernetes-helm gitlab-omnibus

致电安装:

helm install --name gitlab1 -f values.yaml gitlab/gitlab-omnibus

我看到Pods无法启动。

我看到错误:no service with name nginx-ingress/default-http-backend found: services "default-http-backend" is forbidden: User "system:serviceaccount:nginx-ingress:default" cannot get services in the namespace "nginx-ingress"

我想到ABAC / RBAC ......但是这样做...

来自nginx pod的日志:

# kubectl logs nginx-ndxhn --namespace nginx-ingress
[dumb-init] Unable to detach from controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] Child spawned with PID 7.
[dumb-init] Unable to attach to controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] setsid complete.
I0530 21:30:23.232676       7 launch.go:105] &{NGINX 0.9.0-beta.11 git-a3131c5 https://github.com/kubernetes/ingress}
I0530 21:30:23.232749       7 launch.go:108] Watching for ingress class: nginx
I0530 21:30:23.233708       7 launch.go:262] Creating API server client for https://10.233.0.1:443
I0530 21:30:23.234080       7 nginx.go:182] starting NGINX process...
F0530 21:30:23.251587       7 launch.go:122] no service with name nginx-ingress/default-http-backend found: services "default-http-backend" is forbidden: User "system:serviceaccount:nginx-ingress:default" cannot get services in the namespace "nginx-ingress"
[dumb-init] Received signal 17.
[dumb-init] A child with PID 7 exited with exit status 255.
[dumb-init] Forwarded signal 15 to children.
[dumb-init] Child exited with status 255. Goodbye.


# kubectl get svc -w --namespace nginx-ingress nginx
NAME      TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)                                   AGE
nginx     LoadBalancer   10.233.25.0   <pending>     80:32048/TCP,443:31430/TCP,22:31636/TCP   9m


# kubectl describe svc --namespace nginx-ingress nginx
Name:                     nginx
Namespace:                nginx-ingress
Labels:                   <none>
Annotations:              service.beta.kubernetes.io/external-traffic=OnlyLocal
Selector:                 app=nginx
Type:                     LoadBalancer
IP:                       10.233.25.0
IP:                       1.1.1.1
Port:                     http  80/TCP
TargetPort:               80/TCP
NodePort:                 http  32048/TCP
Endpoints:                
Port:                     https  443/TCP
TargetPort:               443/TCP
NodePort:                 https  31430/TCP
Endpoints:                
Port:                     git  22/TCP
TargetPort:               22/TCP
NodePort:                 git  31636/TCP
Endpoints:                
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>


# kubectl get pods --all-namespaces
NAMESPACE       NAME                                                   READY     STATUS             RESTARTS   AGE
default         gitlab1-gitlab-75576c4589-lnf56                        0/1       Running            2          11m
default         gitlab1-gitlab-postgresql-f66555d65-nqvqx              1/1       Running            0          11m
default         gitlab1-gitlab-redis-58cf598657-ksptm                  1/1       Running            0          11m
default         gitlab1-gitlab-runner-55d458ccb7-g442z                 0/1       CrashLoopBackOff   6          11m
default         glusterfs-9cfcr                                        1/1       Running            0          1d
default         glusterfs-k422g                                        1/1       Running            0          1d
default         glusterfs-tjtvq                                        1/1       Running            0          1d
default         heketi-75dcfb7d44-thxpm                                1/1       Running            0          1d
default         nginx-nginx-ingress-controller-775b5b9c6d-hhvlr        1/1       Running            0          2h
default         nginx-nginx-ingress-default-backend-7bb66746b9-mzgcb   1/1       Running            0          2h
default         nginx-pod1                                             1/1       Running            0          1d
kube-lego       kube-lego-58c9f5788d-pdfb5                             1/1       Running            0          11m
kube-system     calico-node-hq2v7                                      1/1       Running            3          2d
kube-system     calico-node-z4nts                                      1/1       Running            3          2d
kube-system     calico-node-z9r9v                                      1/1       Running            4          2d
kube-system     kube-apiserver-k8s-m1.me                               1/1       Running            4          2d
kube-system     kube-apiserver-k8s-m2.me                               1/1       Running            5          1d
kube-system     kube-apiserver-k8s-m3.me                               1/1       Running            3          2d
kube-system     kube-controller-manager-k8s-m1.me                      1/1       Running            4          2d
kube-system     kube-controller-manager-k8s-m2.me                      1/1       Running            4          1d
kube-system     kube-controller-manager-k8s-m3.me                      1/1       Running            3          2d
kube-system     kube-dns-7bd4d5fbb6-r2rnf                              3/3       Running            9          2d
kube-system     kube-dns-7bd4d5fbb6-zffvn                              3/3       Running            9          2d
kube-system     kube-proxy-k8s-m1.me                                   1/1       Running            3          2d
kube-system     kube-proxy-k8s-m2.me                                   1/1       Running            3          1d
kube-system     kube-proxy-k8s-m3.me                                   1/1       Running            3          2d
kube-system     kube-scheduler-k8s-m1.me                               1/1       Running            4          2d
kube-system     kube-scheduler-k8s-m2.me                               1/1       Running            4          1d
kube-system     kube-scheduler-k8s-m3.me                               1/1       Running            4          2d
kube-system     kubedns-autoscaler-679b8b455-pp7jd                     1/1       Running            3          2d
kube-system     kubernetes-dashboard-55fdfd74b4-6z8qp                  1/1       Running            0          1d
kube-system     tiller-deploy-75b7d95f5c-8cmxh                         1/1       Running            0          1d
nginx-ingress   default-http-backend-6679b97b47-w6cx7                  1/1       Running            0          11m
nginx-ingress   nginx-ndxhn                                            0/1       CrashLoopBackOff   6          11m
nginx-ingress   nginx-nk2jg                                            0/1       CrashLoopBackOff   6          11m
nginx-ingress   nginx-rz7xj                                            0/1       CrashLoopBackOff   6          11m

登录跑步者:

# kubectl logs gitlab1-gitlab-runner-55d458ccb7-g442z
+ cp /scripts/config.toml /etc/gitlab-runner/
+ /entrypoint register --non-interactive --executor kubernetes
Running in system-mode.                            

ERROR: Registering runner... failed                 runner=tQtCbx5U status=couldn't execute POST against http://gitlab1-gitlab.default:8005/api/v4/runners: Post http://gitlab1-gitlab.default:8005/api/v4/runners: dial tcp 10.233.7.205:8005: i/o timeout
PANIC: Failed to register this runner. Perhaps you are having network problems

PVC很好

# kubectl get pvc
NAME                                STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS     AGE
gitlab1-gitlab-config-storage       Bound     pvc-c957bd23-644f-11e8-8f10-4ccc6a60fcbe   1Gi        RWO            gluster-heketi   13m
gitlab1-gitlab-postgresql-storage   Bound     pvc-c964e7d0-644f-11e8-8f10-4ccc6a60fcbe   30Gi       RWO            gluster-heketi   13m
gitlab1-gitlab-redis-storage        Bound     pvc-c96f9146-644f-11e8-8f10-4ccc6a60fcbe   5Gi        RWO            gluster-heketi   13m
gitlab1-gitlab-registry-storage     Bound     pvc-c959d377-644f-11e8-8f10-4ccc6a60fcbe   30Gi       RWO            gluster-heketi   13m
gitlab1-gitlab-storage              Bound     pvc-c9611ab1-644f-11e8-8f10-4ccc6a60fcbe   30Gi       RWO            gluster-heketi   13m
gluster1                            Bound     pvc-922b5dc0-6372-11e8-8f10-4ccc6a60fcbe   5Gi        RWO            gluster-heketi   1d

# kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

1 个答案:

答案 0 :(得分:2)

  

我想到ABAC / RBAC ......但是这样做...

你是对的,错误信息准确地解释了什么是错的。前进有两条路径:您可以修复Role命名空间中RoleBinding default的{​​{1}}和ServiceAccount,也可以切换{{1使用nginx-ingress 其他而不是Deployment来分配ServiceAccount所需的特定权限。我推荐后者,但前者可能不那么打字。

defaultDeployment的粗略版本in the nginx-ingress repo,但可能需要根据您的需求进行调整,包括更新Role远离RoleBinding

在进行了更改后,您需要apiVersion nginx-ingress Pod,以便他们获取新的v1beta1并执行任何初始化任务delete在启动期间。

另外,您肯定想要解决这个问题:

  

Role

如果不了解更多关于CNI设置和实际GitLab Pod的事务状态,我无法提供更具体的操作,但I / O超时对于获取集群中的来说肯定是一个非常奇怪的错误/ em>沟通。