第一次使用 GCE,之前在 AWS 中使用 k8s with kops。
我有一个 PV 和 PVC 设置,两者都是状态绑定的。
我有我的第一个部署/pod 尝试运行,其中大部分的 yaml 配置主要是从 AWS 中的工作设置复制的。
当我从部署中删除卷时,它会启动并进入运行状态。
附加卷后,它停在:开始时间:尚未开始阶段:待定状态:ContainerCreating
容器的日志中根本没有任何内容,没有一行。
编辑:终于在 pod 事件而不是容器日志中找到了一些有用的东西
卷“tio-pv-ssl”的 MountVolume.SetUp 失败:挂载失败:退出状态 1 挂载命令:systemd-run 挂载参数:--description=Kubernetes 临时挂载 /var/lib/kubelet/pods/c64b2284-de81- 11e8-9ead-42010a9400a0/volumes/kubernetes.io~nfs/tio-pv-ssl --scope -- /home/kubernetes/containerized_mounter/mounter mount -t nfs 10.148.0.6:/ssl /var/lib/kubelet /c64b2284-de81-11e8-9ead-42010a9400a0/volumes/kubernetes.io~nfs/tio-pv-ssl 输出:运行范围为单位:run-r68f0f0ac5bf54be2b47ac60d9e.Mountscope 挂载失败:挂载失败状态:3712参数:[/home/kubernetes/containerized_mounter/rootfs mount -t nfs 10.148.0.6:/ssl /var/lib/kubelet/pods/c64b2284-de81-11e8-9ead-42010a9400a0/volumes/ionfss pv-ssl] 输出:mount.nfs:挂载时服务器拒绝访问 10。148.0.6:/ssl
NFS 服务器 10.148.0.6 是使用https://cloud.google.com/launcher/docs/single-node-fileserver设置的似乎运行良好,并且 /ssl 文件夹位于 NFS 根目录 (/data/ssl) 下
Kubectl 状态
kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
tio-pv-ssl 1000Gi RWX Retain Bound core/tio-pv-claim-ssl standard 17m
kubectl get pvc --namespace=core
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
tio-pv-claim-ssl Bound tio-pv-ssl 1000Gi RWX standard 18m
kubectl get pods --namespace=core
NAME READY STATUS RESTARTS AGE
proxy-deployment-64b9cdb55d-8htjf 0/1 ContainerCreating 0 13m
音量 Yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: tio-pv-ssl
spec:
capacity:
storage: 1000Gi
storageClassName: standard
accessModes:
- ReadWriteMany
nfs:
server: 10.148.0.6
path: "/ssl"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tio-pv-claim-ssl
namespace: core
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Mi
volumeName: tio-pv-ssl
storageClassName: standard
部署yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: proxy-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: proxy
spec:
containers:
- name: proxy-ctr
image: asia.gcr.io/xyz/nginx-proxy:latest
resources:
limits:
cpu: "500m"
memory: 1024Mi
requests:
cpu: 100m
memory: 256Mi
ports:
- containerPort: 80
- containerPort: 443
volumeMounts:
- name: tio-ssl-storage
mountPath: "/etc/nginx/ssl"
volumes:
- name: tio-ssl-storage
persistentVolumeClaim:
claimName: tio-pv-claim-ssl
strategy:
type: "RollingUpdate"
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
---
apiVersion: v1
kind: Service
metadata:
name: proxyservice
namespace: core
labels:
app: proxy
spec:
ports:
- port: 80
name: port-http
protocol: TCP
- port: 443
name: port-https
protocol: TCP
selector:
app: proxy
type: LoadBalancer
一旦找到隐藏日志的位置,就解决了我自己的问题。
path: "/ssl"
应该是服务器上的完整路径,而不是相对于 nfs 数据文件夹
path: "/data/ssl"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句