apiVersion: v1 kind: Namespace metadata: name: code-server --- apiVersion: v1 kind: Service metadata: name: code-server namespace: code-server spec: ports: - port: 8443 name: https protocol: TCP selector: app: code-server type: ClusterIP --- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: gp2 annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: kubernetes.io/aws-ebs parameters: type: gp2 fsType: ext4 --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: code-store namespace: code-server spec: accessModes: - ReadWriteOnce resources: requests: storage: 60Gi --- apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: app: code-server name: code-server namespace: code-server spec: selector: matchLabels: app: code-server replicas: 1 template: metadata: labels: app: code-server spec: containers: - image: codercom/code-server imagePullPolicy: Always name: code-servery ports: - containerPort: 8443 name: https volumeMounts: - name: code-server-storage mountPath: /go/src volumes: - name: code-server-storage persistentVolumeClaim: claimName: code-store