Kubernetes:无法部署简单的;Couchbase“;服务
我是Kubernetes的新手,我试图模仿一种行为,有点像我在docker容器中为Couchbase数据库提供服务时使用的Kubernetes:无法部署简单的;Couchbase“;服务,kubernetes,docker-compose,Kubernetes,Docker Compose,我是Kubernetes的新手,我试图模仿一种行为,有点像我在docker容器中为Couchbase数据库提供服务时使用的docker compose couchbase: 图片:couchbase 卷数: -./couchbase:/opt/couchbase/var 端口: - 8091-8096:8091-8096 - 11210-11211:11210-11211 我使用名为“”的工具在本地主机中创建了群集 kind创建集群——命名我的集群 kubectl配置使用上下文我的集群 然后
docker compose
couchbase:
图片:couchbase
卷数:
-./couchbase:/opt/couchbase/var
端口:
- 8091-8096:8091-8096
- 11210-11211:11210-11211
我使用名为“”的工具在本地主机中创建了群集
kind创建集群——命名我的集群
kubectl配置使用上下文我的集群
然后我尝试使用该集群部署Couchbase服务
我创建了一个名为couchbase.yaml
的文件,其中包含以下内容(我试图模仿我使用docker compose文件所做的操作)
apiVersion:apps/v1
种类:部署
元数据:
名称:couchbase
名称空间:我的项目
标签:
平台:couchbase
规格:
副本:1份
选择器:
火柴标签:
平台:couchbase
模板:
元数据:
标签:
平台:couchbase
规格:
卷数:
-名称:couchbase数据
主机路径:
#主机上的目录位置
路径:/home/me/my project/couchbase
#此字段是可选的
类型:目录
容器:
-名称:couchbase
图片:couchbase
体积数量:
-挂载路径:/opt/couchbase/var
名称:couchbase数据
然后我像这样开始部署:
kubectl创建名称空间我的项目
kubectl应用程序-f couchbase.yaml
kubectl公开部署-n我的项目couchbase--type=LoadBalancer--port=8091
但是,我的部署从未真正开始:
kubectl获取部署-n我的项目couchbase
姓名就绪最新可用年龄
沙发床0/1016M14S
当我查找日志时,我看到:
kubectl日志-n我的项目-lpplatform=couchbase--all containers=true
服务器错误(BadRequest):pod“couchbase-589f7fc4c7-th2r2”中的容器“couchbase”正在等待启动:ContainerCreating
正如OP在评论中提到的,问题是通过使用额外装载解决的,如文档中所述:
以下是OP的评论,但格式已格式化,因此更具可读性:
运行此命令时会显示错误:
kubectl describe pods -n my-project couchbase
我可以通过创建一种新的群集来修复它:
kind create cluster --config cluster.yaml
在cluster.yaml中传递此内容:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: inf
nodes:
- role: control-plane
extraMounts:
- hostPath: /home/me/my-project/couchbase
containerPath: /couchbase
在couchbase.yaml
中,路径变为路径:/couchbase
当然。工具类型基于Docker映像,这些映像创建了Kubernetes运行的自己的文件系统层。因此,您不能在部署中引用计算机上的本地路径,因为Kubernetes无法访问这些路径。也许有一个逃避的窍门,也许这个评论对你有帮助。试试看。是的,你是对的:只是为了完成你的回答:当我运行这个命令时会出现错误:kubectl descripe pods-n
我可以通过创建一个新的种类集群来修复它:kind create cluster--config cluster.yaml
在集群中传递这个内容。yaml:yaml种类:集群apiVersion:kind.x-k8s.io/v1alpha4 name:inf节点:-角色:控制平面附加:-主机路径:/home/me/my project/couchbase containerPath:/couchbase
在couchbase.yaml中,路径当然变成path:/couchbase