最近在练习kubernetes时,我发现没有专门解释如何在kubernetes中正确使用煤渣的文档和示例。
那么如何设置煤渣用于kubernetes?
我做了一些实验,并研究了如何用kubernetes设置煤渣。只需找到合适的文件和分享。
制备
背景
根据我的调查,组件kube-controller-manager
负责在Kubernetes中加载卷插件和相关内容。所以我们可以通过调整kube-controller-manager
配置来制作煤渣。
脚步
cloud.conf
文件以包含您的openstack信誉准备你的openstack信誉并保存为文件,例如/etc/kubernetes/cloud.conf
位于kube-controller-manager
所在的kubernetes控制面板中。以下是cloud.conf
的示例
[Global]
auth-url=$your_openstack_auth_url
username=$your_openstack_user
password=$your_user_pw
region=$your_openstack_reigon
tenant-name=$your_project_name
domain-name=$your_domain_name
ca-file=$your_openstack_ca
大多数都可以在你的stackrc
文件中找到。 ca-file
项目是可选的,取决于你的openstack auth url是http
还是https
kube-controller-manager
启动配置此链接是kube-controller-manager
(https://kubernetes.io/docs/admin/kube-controller-manager/)的完整详细信息选项
实际上我们应该根据你当前的参数添加两个额外的参数
--cloud-provider=openstack
--cloud-config=/etc/kubernetes/cloud.conf
启动kube-controller-manager
主要有两种方法:1)使用systemd 2)使用静态pod。
只有一个提示,如果您使用静态pod for kube-controller-manager
,请确保已将所有文件(如cloud.conf或openstack ca文件)挂载到容器中。
验证
我们将创建一个存储类,并使用此存储类动态创建持久卷。
standard
的存储类:演示sc.yml:
apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
name: standard
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: EnsureExists
provisioner: kubernetes.io/cinder
使用命令kubectl create -f demo-sc.yml
创建并使用命令kubectl get sc
来验证它是否正确创建
NAME TYPE
standard (default) kubernetes.io/cinder
演示pvc.yml:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: cinder-claim
annotations:
volume.beta.kubernetes.io/storage-class: "standard"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
通过kubectl create -f demo-pvc.yml
创建PVC
现在通过命令kubectl get pvc
检查
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
cinder-claim Bound pvc-5dd3d62e-9204-11e7-bc43-fa163e0e0379 1Gi RWO standard 23h
在openstack环境中,通过命令cinder list | grep pvc-5dd3d62e-9204-11e7-bc43-fa163e0e0379
进行检查
root@ds0114:~# cinder list | grep pvc-5dd3d62e-9204-11e7-bc43- fa163e0e0379
| ddd8066d-2e16-4cb2-a89e-cd9d5b99ef1b | available | kubernetes-dynamic- pvc-5dd3d62e-9204-11e7-bc43-fa163e0e0379 | 1 | CEPH_SSD | false | |
所以现在StorageClass在Kubernetes中使用Cinder工作得很好。