kubernetes以deployment+rbd方式建Service,同样配置在default能成功,非default下失败?

如题,kubernetes以deployment+rbd方式建Service,同样配置在default能成功,且能访问服务,但是只要在非default命名空间下却失败了?求遇到过类似问题的大神支招~~

配置如下(json版):

{    
    "kind": "Deployment",
    "spec": {
        "replicas": "1",
        "template": {
            "spec": {
                "volumes": [
                    {
                        "rbd": {
                            "secretRef": {
                                "name": "ceph-secret"
                            },
                            "image": "zhaosiyi.24",
                            "fsType": "ext4",
                            "readOnly": false,
                            "user": "admin",
                            "monitors": [
                                "xxx.xxx.xxx.6:6789",
                                "xxx.xxx.xxx.7:6789",
                                "xxx.xxx.xxx.8:6789"
                            ],
                            "pool": "rrkd.rbd"
                        },
                        "name": "aa"
                    }
                ],
                "imagePullSecrets": [
                    {
                        "name": "registrykey-m3-1"
                    }
                ],
                "containers": [
                    {
                        "image": "ccr.ccs.tencentyun.com/rrkd/rrkd-nginx:1.0",
                        "volumeMounts": [
                            {
                                "readOnly": false,
                                "mountPath": "/mnt",
                                "name": "aa"
                            }
                        ],
                        "name": "aa",
                        "ports": [
                            {
                                "protocol": "TCP",
                                "containerPort": 80
                            }
                        ]
                    }
                ]
            },
            "metadata": {
                "labels": {
                    "name": "aa"
                }
            }
        },
        "selector": {
            "matchLabels": {
                "name": "aa"
            }
        }
    },
    "apiVersion": "extensions/v1beta1",
    "metadata": {
        "labels": {
            "name": "aa"
        },
        "name": "aa"
    }
}
{
    "kind": "Service",
    "spec": {
        "type": "NodePort",
        "ports": [
            {
                "targetPort": 80,
                "protocol": "TCP",
                "port": 80
            }
        ],
        "selector": {
            "name": "aa"
        }
    },
    "apiVersion": "v1",
    "metadata": {
        "labels": {
            "name": "aa"
        },
        "name": "aa"
    }
}

最奇怪的是describe pod的详细信息显示已成功,没有任何错误信息,但是get pod实际是没成功的,如下图:
图片描述
图片描述

阅读 3k
1 个回答

问题已经解决。非default不成功,是由于新建的命名空间是没有Secret的,这样在pull image时认证失败,所以需要手动创建用于pull image的Secret。如果是rbd或者pvc模式,还需要手动创建用于挂载存储的Secret。

https://kubernetes.io/docs/co...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题