kubernetes - kubectl - 来自守护程序的错误响应:创建挂载源路径时出错
问题描述
我正在尝试按照指南https://developers.sap.com/tutorials/hxe-k8s-advanced-analytics.html#7f5c99da-d511-479b-在 Google Cloud Platform 的 Kubernetes 节点中安装 SAP HANA Express docker 映像8745-caebfe996164但是,在执行第 7 步“部署您的容器并连接到它们”期间,我没有得到预期的结果。
我正在执行命令kubectl create -f hxe.yaml
,这是我正在使用的 yaml 文件:
kind: ConfigMap
apiVersion: v1
metadata:
creationTimestamp: 2018-01-18T19:14:38Z
name: hxe-pass
data:
password.json: |+
{"master_password" : "HXEHana1"}
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: persistent-vol-hxe
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 150Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/data/hxe_pv"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: hxe-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hxe
labels:
name: hxe
spec:
selector:
matchLabels:
run: hxe
app: hxe
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
run: hxe
app: hxe
role: master
tier: backend
spec:
initContainers:
- name: install
image: busybox
command: [ 'sh', '-c', 'chown 12000:79 /hana/mounts' ]
volumeMounts:
- name: hxe-data
mountPath: /hana/mounts
volumes:
- name: hxe-data
persistentVolumeClaim:
claimName: hxe-pvc
- name: hxe-config
configMap:
name: hxe-pass
imagePullSecrets:
- name: docker-secret
containers:
- name: hxe-container
image: "store/saplabs/hanaexpress:2.00.045.00.20200121.1"
ports:
- containerPort: 39013
name: port1
- containerPort: 39015
name: port2
- containerPort: 39017
name: port3
- containerPort: 8090
name: port4
- containerPort: 39041
name: port5
- containerPort: 59013
name: port6
args: [ "--agree-to-sap-license", "--dont-check-system", "--passwords-url", "file:///hana/hxeconfig/password.json" ]
volumeMounts:
- name: hxe-data
mountPath: /hana/mounts
- name: hxe-config
mountPath: /hana/hxeconfig
- name: sqlpad-container
image: "sqlpad/sqlpad"
ports:
- containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
name: hxe-connect
labels:
app: hxe
spec:
type: LoadBalancer
ports:
- port: 39013
targetPort: 39013
name: port1
- port: 39015
targetPort: 39015
name: port2
- port: 39017
targetPort: 39017
name: port3
- port: 39041
targetPort: 39041
name: port5
selector:
app: hxe
---
apiVersion: v1
kind: Service
metadata:
name: sqlpad
labels:
app: hxe
spec:
type: LoadBalancer
ports:
- port: 3000
targetPort: 3000
protocol: TCP
name: sqlpad
selector:
app: hxe
我还在使用 HANA Express Edition docker 映像的最新版本:store/saplabs/hanaexpress:2.00.045.00.20200121.1
您可以在此处查看:https ://hub.docker.com/_/sap-hana-express-edition/plans/f2dc436a-d851-4c22- a2ba-9de07db7a9ac?tab=说明
我得到的错误如下:
有什么想法可能是错的吗?
向大家致以最诚挚的问候和新年快乐。
解决方案
多亏了 Mahboob 的建议,我现在可以(部分)启动 pod,并且问题不在“busybox”容器启动阶段出现。问题是我为节点池使用了容器优化镜像,而需要的是 Ubuntu。如果您遇到类似问题,请仔细检查您在创建节点池时选择的图像风格。
但是,我现在有一个不同的问题,pod 正在启动(hanaxs 和另一个用于 sqlpad),但是其中一个,sqlpad 容器,在启动后的某个时候崩溃,并且 pod 卡在 CrashLoopBackOff 状态。如下图所示,Pod 处于 CrashLoopBackOff 状态,仅启动了 1/2,突然两者都在运行。
因为我是 kubernetes 和 docker 世界的新手,所以我没有找到解决这个问题的正确位置。希望你们中的一些人能给我带来一些光明。
此致。
推荐阅读
- javascript - 使用 Moment JS 用其他语言(如阿拉伯语或印地语)本地化日期时以英语显示数字
- javascript - 如何使 node-fetch 仅提取特定参数?
- flutter - 如何向 Sentry 提交异常以便我可以在问题中找到它?
- python - Python Pandas:按列和组大小分组
- python-3.x - 在 tkinter 中使用几何管理器 .grid 时遇到一些问题
- typescript - 如何知道类型是从 Typescript 中的联合类型参数传入的?
- vba - 删除前后空格并用逗号插入单引号
- flutter - 如何在您的网络请求中附加 SSL 证书
- angular - 模拟服务调用的问题
- unity3d - Admob Unity 测试广告未显示