brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 09. 2021

쿠버5탄-2. 쿠버네티스 사용툴 설치,kubectl

<1> 쿠버네티스 사용 툴 설치

<2> kubectl 명령어 사용하기



<1> 쿠버네티스 사용 툴 설치



아마존 리눅스 기반

EC2 생성시 Userdate 입력

또는

실행


 UserData:

        Fn::Base64:

          !Sub |

            #!/bin/bash


            # Install tools

            yum -y install git tree tmux jq lynx htop


            # Install aws cli v2

            curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

            unzip awscliv2.zip

            sudo ./aws/install

            export PATH=/usr/local/bin:$PATH

            source ~/.bash_profile

            complete -C '/usr/local/bin/aws_completer' aws


            # Install eksctl

            curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp

            mv /tmp/eksctl /usr/local/bin


            # Install kubectl v1.21.2

            curl -LO https://dl.k8s.io/release/v1.21.2/bin/linux/amd64/kubectl

            install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl


            # Install Docker

            amazon-linux-extras install docker -y

            systemctl start docker && systemctl enable docker


            # Source bash-completion for kubectl eksctl

            source <(kubectl completion bash)

            echo 'source <(kubectl completion bash)' >> ~/.bashrc 

            echo 'alias k=kubectl' >> ~/.bashrc

            echo 'complete -F __start_kubectl k' >> ~/.bashrc

            source <(eksctl completion bash)

            echo 'source <(eksctl completion bash)' >> ~/.bashrc 


            # Install kubens kubectx

            git clone https://github.com/ahmetb/kubectx /opt/kubectx

            ln -s /opt/kubectx/kubens /usr/local/bin/kubens

            ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx


            # Config convenience

            echo 'alias vi=vim' >> /etc/profile

            echo "sudo su -" >> /home/ec2-user/.bashrc


            # Change localtime

            sed -i "s/UTC/Asia\/Seoul/g" /etc/sysconfig/clock

            ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime


            # Install kube-ps1 , 프롬프트 변경

            git clone https://github.com/jonmosco/kube-ps1.git /root/kube-ps1

            cat <<"EOT" >> ~/.bash_profile

            source /root/kube-ps1/kube-ps1.sh

            KUBE_PS1_SYMBOL_ENABLE=false

            function get_cluster_short() {

              echo "$1" | cut -d . -f1

            }

            KUBE_PS1_CLUSTER_FUNCTION=get_cluster_short

            KUBE_PS1_SUFFIX=') '

            PS1='$(kube_ps1)'$PS1

            EOT



aws cli windows

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html




<2> kubectl 명령어 사용하기


bash


k get ns,no,po,svc,deploy,rs,ing,ep


2

약어 보기


kubectl api-resources


약어

$ kubectl api-resources

NAME                                      SHORTNAMES                  APIGROUP         NAMESPACED   KIND

bindings                                                                                         true         Binding

componentstatuses                   cs                                                false        ComponentStatus

configmaps                                 cm                                                true         ConfigMap

endpoints                                    ep                                                true         Endpoints

events                                          ev                                                true         Event

limitranges                                  limits                                            true         LimitRange

namespaces                                ns                                                false        Namespace

nodes                                           no                                                false        Node

persistentvolumeclaims           pvc                                               true         PersistentVolumeClaim

persistentvolumes                     pv                                                false        PersistentVolume

pods                                             po                                                true         Pod

podtemplates                                                                                true         PodTemplate

replicationcontrollers            rc                                                   true         ReplicationController

resourcequotas                       quota                                              true         ResourceQuota

secrets                                                                                            true         Secret

serviceaccounts                      sa                                                true         ServiceAccount

services                                    svc                                               true         Service

mutatingwebhookconfigurations   admissionregistration.k8s.io   false        MutatingWebhookConfiguration

validatingwebhookconfigurations                      admissionregistration.k8s.io   false        ValidatingWebhookConfiguration

customresourcedefinitions         crd,crds           apiextensions.k8s.io           false        CustomResourceDefinition

apiservices                                          apiregistration.k8s.io         false        APIService

controllerrevisions                                  apps                           true         ControllerRevision

daemonsets                        ds                 apps                           true         DaemonSet

deployments                       deploy             apps                           true         Deployment

replicasets                            rs                 apps                           true         ReplicaSet

statefulsets                          sts                apps                           true         StatefulSet

applications                        app,apps           argoproj.io                    true         Application

appprojects                        appproj,appprojs   argoproj.io                    true         AppProject

tokenreviews                                                  authentication.k8s.io          false        TokenReview

localsubjectaccessreviews                            authorization.k8s.io           true         LocalSubjectAccessReview

selfsubjectaccessreviews                             authorization.k8s.io           false        SelfSubjectAccessReview

selfsubjectrulesreviews                              authorization.k8s.io           false        SelfSubjectRulesReview

subjectaccessreviews                                 authorization.k8s.io           false        SubjectAccessReview

horizontalpodautoscalers         hpa          autoscaling               true         HorizontalPodAutoscaler

cronjobs                                        cj             batch                          true         CronJob

jobs                                                                batch                          true         Job

certificatesigningrequests        csr     certificates.k8s.io            false        CertificateSigningRequest

leases                                               coordination.k8s.io            true         Lease

eniconfigs                                           crd.k8s.amazonaws.com          false        ENIConfig

endpointslices                                       discovery.k8s.io               true         EndpointSlice

events                            ev                 events.k8s.io                  true         Event

ingresses                        ing                extensions                          true         Ingress

ingresses                        ing                networking.k8s.io              true         Ingress

networkpolicies                   netpol             networking.k8s.io              true         NetworkPolicy

runtimeclasses                                       node.k8s.io                    false        RuntimeClass

poddisruptionbudgets              pdb                policy                         true         PodDisruptionBudget

podsecuritypolicies               psp                policy                         false        PodSecurityPolicy

clusterrolebindings                                  rbac.authorization.k8s.io      false        ClusterRoleBinding

clusterroles                                         rbac.authorization.k8s.io      false        ClusterRole

rolebindings                                         rbac.authorization.k8s.io      true         RoleBinding

roles                                                rbac.authorization.k8s.io      true         Role

priorityclasses                   pc                 scheduling.k8s.io              false        PriorityClass

csidrivers                                           storage.k8s.io                 false        CSIDriver

csinodes                                             storage.k8s.io                 false        CSINode

storageclasses                    sc                 storage.k8s.io                 false        StorageClass

volumeattachments                                    storage.k8s.io                 false        VolumeAttachment

securitygrouppolicies      sgp                vpcresources.k8s.aws           true         SecurityGroupPolicy





다시보기


https://brunch.co.kr/@topasvga/3342




https://brunch.co.kr/@topasvga/1656


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari