brunch

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

by Master Seo

<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 명령어 사용하기


1

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


keyword
매거진의 이전글쿠버1탄-32. 쿠버네티스 - WordPress,삭제