Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create vsphere secret YAML:
- # tee ~/vsphere-secret.yaml >/dev/null <<EOF
- # apiVersion: v1
- # kind: Secret
- # metadata:
- # name: vsphere-secret
- # type: Opaque
- # data:
- # 192.168.23.224.username: a3ViZXJuZXRlc0BkZW1vdnNwaGVyZS5sb2NhbA==
- # 192.168.23.224.password: a3UjZGFCZXJuZXRlITY=
- # EOF
- # Maybe use secrets
- # secret-name = "vsphere-secret"
- # secret-namespace = "kube-system"
- # Create vsphere.conf on MASTER NODE
- tee /etc/kubernetes/vsphere.conf >/dev/null <<EOF
- [Global]
- user = "kubernetes@demovsphere.local"
- password = "ku#daBernete!6"
- port = "443"
- insecure-flag = "1"
- datacenters = "DemoRegra"
- [VirtualCenter "192.168.23.224"]
- [Workspace]
- server = "192.168.23.224"
- datacenter = "DemoRegra"
- default-datastore="kubernetes"
- datacenter = "DemoRegra"
- folder = "/DemoRegra/vm/Kubernetes/"
- [Disk]
- scsicontrollertype = pvscsi
- EOF
- # Creates kubeadm init config
- tee ./kubeadm-init-config.yaml >/dev/null <<EOF
- apiVersion: kubeadm.k8s.io/v1alpha2
- kind: InitConfiguration
- kubernetesVersion: v1.11.7
- nodeRegistration:
- kubeletExtraArgs:
- cloud-provider: "vsphere"
- cloud-config: "/etc/kubernetes/vsphere.conf"
- ---
- apiVersion: kubeadm.k8s.io/v1alpha2
- kind: ClusterConfiguration
- kubernetesVersion: v1.11.7
- apiServer:
- extraArgs:
- cloud-provider: "vsphere"
- cloud-config: "/etc/kubernetes/vsphere.conf"
- extraVolumes:
- - name: cloud
- hostPath: "/etc/kubernetes/vsphere.conf"
- mountPath: "/etc/kubernetes/vsphere.conf"
- controllerManager:
- extraArgs:
- cloud-provider: "vsphere"
- cloud-config: "/etc/kubernetes/vsphere.conf"
- extraVolumes:
- - name: cloud
- hostPath: "/etc/kubernetes/vsphere.conf"
- mountPath: "/etc/kubernetes/vsphere.conf"
- networking:
- dnsDomain: regra.pt
- podSubnet: "10.244.0.0/16"
- serviceSubnet: 10.96.0.0/12
- EOF
- kubeadm init --config=./kubeadm-init-config.yaml --ignore-preflight-errors=SystemVerification
- # Create kubeadm join config:
- tee ~/kubeadm-init-worker.yaml >/dev/null <<EOF
- apiVersion: kubeadm.k8s.io/v1alpha3
- kind: JoinConfiguration
- nodeRegistration:
- kubeletExtraArgs:
- cloud-provider: vsphere
- EOF
- # Create secret
- # kubectl create -f vsphere-secret.yaml --namespace=kube-system
- # Reload kubelet systemd
- systemctl daemon-reload
- # Restart kubelet
- systemctl restart kubelet
- # If controller-Manager is running in the container, restart controller-Manager container.
- # If controller-Manager is running as service, restart service for controller-Manager.
- docker ps | grep controller
- docker stop containerid
- # If API server is running in the container, restart API container
- # If API server is running as service, restart service for API server.
- docker ps | grep apiserver
- docker stop containerid
- # Check nodes mapping to vsphere
- kubectl describe nodes | grep "ProviderID"
- # Create Storage Class YAML
- tee vsan-storage-class.yaml >/dev/null <<EOF
- kind: StorageClass
- apiVersion: storage.k8s.io/v1
- metadata:
- name: vsan-default
- annotations:
- storageclass.kubernetes.io/is-default-class: "true"
- provisioner: kubernetes.io/vsphere-volume
- parameters:
- storagePolicyName: "vSAN Default Storage Policy"
- datastore: kubernetes
- EOF
- # Create Storage Class
- kubectl create -f vsan-storage-class.yaml
- tee pvc-exception.yaml >/dev/null <<EOF
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- name: exception-vsan
- annotations:
- volume.beta.kubernetes.io/storage-class: vsan-default
- spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 5Gi
- EOF
- kubectl create -f pvc-exception.yaml
- # Test Pod Creation with Persistent Volume
- tee pvc-exception.yaml >/dev/null <<EOF
- apiVersion: v1
- kind: Pod
- metadata:
- name: test-volumne
- spec:
- containers:
- - name: test-volumne
- image: k8s.gcr.io/test-webserver
- volumeMounts:
- - name: exception-volume
- mountPath: /test
- volumes:
- - name: exception-volume
- persistentVolumeClaim:
- claimName: exception-vsan
- EOF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement