728024e8ff
- cephfs-provisioner 06fddbe2 (https://github.com/kubernetes-incubator/external-storage/tree/06fddbe2/ceph/cephfs) Noteable changes from upstream: - Added storage class parameters to specify a root path within the backing cephfs and, optionally, use deterministic directory and user names (https://github.com/kubernetes-incubator/external-storage/pull/696) - Support capacity (https://github.com/kubernetes-incubator/external-storage/pull/770) - Enable metrics server (https://github.com/kubernetes-incubator/external-storage/pull/797) Other noteable changes: - Clean up legacy manifests file naming - Remove legacy manifests, namespace and storageclass before upgrade - `cephfs_provisioner_monitors` simplified as string - Default to new deterministic naming - Add `reclaimPolicy` support in StorageClass With legacy non-deterministic naming style (where $UUID are generated ramdonly): - cephfs_provisioner_claim_root: /volumes/kubernetes - cephfs_provisioner_deterministic_names: false - Generated CephFS volume: /volumes/kubernetes/kubernetes-dynamic-pvc-$UUID - Generated CephFS user: kubernetes-dynamic-user-$UUID With new default deterministic naming style (where $NAMESPACE and $PVC are predictable): - cephfs_provisioner_claim_root: /volumes - cephfs_provisioner_deterministic_names: true - Generated CephFS volume: /volumes/$NAMESPACE/$PVC - Generated CephFS user: k8s.$NAMESPACE.$PVC
54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
---
|
|
|
|
- hosts: localhost
|
|
tasks:
|
|
- name: CephFS Provisioner | Install pip packages
|
|
pip:
|
|
name: "{{ item.name }}"
|
|
version: "{{ item.version }}"
|
|
state: "{{ item.state }}"
|
|
with_items:
|
|
- { state: "present", name: "docker", version: "3.4.1" }
|
|
- { state: "present", name: "docker-compose", version: "1.21.2" }
|
|
|
|
- name: CephFS Provisioner | Check Go version
|
|
shell: |
|
|
go version
|
|
ignore_errors: yes
|
|
register: go_version_result
|
|
|
|
- name: CephFS Provisioner | Install Go 1.9
|
|
shell: |
|
|
add-apt-repository -y ppa:gophers/archive
|
|
apt-get update
|
|
apt-get install -y golang-1.9
|
|
ln -fs /usr/lib/go-1.9/bin/* /usr/local/bin/
|
|
when: 'go_version_result.rc != 0 or "go version go1.9" not in go_version_result.stdout'
|
|
|
|
- name: CephFS Provisioner | Check if image exists
|
|
shell: |
|
|
docker image list | grep 'cephfs-provisioner'
|
|
ignore_errors: yes
|
|
register: check_image_result
|
|
|
|
- block:
|
|
- name: CephFS Provisioner | Clone repo
|
|
git:
|
|
repo: https://github.com/kubernetes-incubator/external-storage.git
|
|
dest: "~/go/src/github.com/kubernetes-incubator/external-storage"
|
|
version: 06fddbe2
|
|
clone: yes
|
|
update: yes
|
|
|
|
- name: CephFS Provisioner | Build image
|
|
shell: |
|
|
cd ~/go/src/github.com/kubernetes-incubator/external-storage
|
|
REGISTRY=quay.io/kubespray/ VERSION=06fddbe2 make ceph/cephfs
|
|
|
|
- name: CephFS Provisioner | Push image
|
|
docker_image:
|
|
name: quay.io/kubespray/cephfs-provisioner:06fddbe2
|
|
push: yes
|
|
retries: 10
|
|
|
|
when: check_image_result.rc != 0
|