실습
EBS
kubectl get scapiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: mycluster region: ap-northeast-2 version: "1.29" availabilityZones: - ap-northeast-2a - ap-northeast-2b - ap-northeast-2c - ap-northeast-2d managedNodeGroups: - name: nodegroup instanceType: t3.small minSize: 2 desiredCapacity: 2 maxSize: 5 volumeSize: 20 iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore iam: withOIDC: true addons: - name: aws-ebs-csi-driver wellKnownPolicies: ebsCSIController: trueeksctl create addon -f mycluster.yamlkubectl get pod -n kube-system \ -l app.kubernetes.io/name=aws-ebs-csi-drivercat <<EOF | kubectl apply -f - apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ebs provisioner: ebs.csi.aws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 encrypted: "true" EOFkubectl get sc{ kubectl annotate sc gp2 storageclass.kubernetes.io/is-default-class- --overwrite kubectl annotate sc ebs storageclass.kubernetes.io/is-default-class=true --overwrite }kubectl get sccat <<EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx name: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 volumeMounts: - name: data mountPath: /mnt volumes: - name: data persistentVolumeClaim: claimName: my-pvc EOFkubectl get pod -l app=nginxkubectl describe pod -l app=nginxkubectl get pvc my-pvckubectl describe pvc my-pvckubectl get pv $(kubectl get pvc my-pvc -o=jsonpath='{.spec.volumeName}'){ export VOL_ID=$(kubectl get pv $(kubectl get pvc my-pvc \ -o=jsonpath='{.spec.volumeName}') \ -o=jsonpath='{.spec.csi.volumeHandle}') echo $VOL_ID }aws ec2 describe-volumes --volume-ids $VOL_ID --no-cli-pagerkubectl exec -it deploy/nginx -- \ bash -c "echo hello EBS > /mnt/message.txt"kubectl exec -it deploy/nginx -- cat /mnt/message.txtkubectl scale deploy nginx --replicas=0kubectl scale deploy nginx --replicas=1kubectl get podkubectl exec -it deploy/nginx -- cat /mnt/message.txt{ kubectl delete deploy nginx kubectl delete pvc my-pvc }kubectl get pvaws ec2 describe-volumes --volume-ids $VOL_ID
EFS
Secret
Last updated