NfreerCom / servermaster

시스템관리자
MIT License
0 stars 0 forks source link

Kubernetes #4

Open NfreerCom opened 1 year ago

NfreerCom commented 1 year ago

Step 5) Install Docker-Compose

Docker Compose command allows to spin up multiple containers in one go. So, to install it run the following commands one after the another.

$ sudo dnf install -y curl $ sudo curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose $ docker-compose --version docker-compose version 2.7.0

command: ['sh', '-c', 'echo The app is running! && sleep 3600']

kubectl exec flutter-android3-948b95d48-xpt4c -it -- sh

docker build . -t myimage

imagePullPolicy: Never kubectl create -f my-react-app-deployment.yml

빌드 구문 yaml로 뽑아내기 kubectl create deployment flutter-android --dry-run=client -o yaml --image=ramilexe/flutter-android > flutter-android.yaml

kubectl get pods -A | grep -i nginx-deployment | awk '{print $2}' | xargs kubectl delete pod --force

kubectl config set-context --current --namespace=nginx

kubectl -n kubernetes-dashboard create token admin-user

rocky linux snap + helm 설치

sudo dnf -y install epel-release && sudo dnf upgrade -y && sudo yum -y install snapd && sudo systemctl enable --now snapd.socket && sudo ln -s /var/lib/snapd/snap /snap && sudo snap install helm --classic

image

kubectl exec [pod ID] -it -- bin/bash
kubectl exec --stdin --tty nfreer-nginx-547db46d85-lcvd7 -- /bin/bash
kubectl exec busybox -it -- sh 
kubectl get events
kubectl logs -f busybox
containers:
  - image: busybox
    name: busybox
    command:
    - "/bin/sh"
    - "-c"
    - "sleep inf"

kubectl get pod busybox -o yaml | kubectl neat > busybox-pod.yml

https://computingforgeeks.com/install-use-k3d-on-rocky-almalinux/

3단계: ip_tables 모듈 활성화 K3d는 traefik과 함께 제공되며 일부 라우팅을 활성화하려면 iptables가 필요합니다. 동작을 원활하게 하려면 "ip_tables" 모듈을 활성화해야 합니다. 이를 위해 다음을 실행하십시오.

sudo modprobe ip_tables echo 'ip_tables' | sudo tee -a /etc/modules

sudo firewall-cmd --permanent --zone=public --add-port=30555/tcp sudo firewall-cmd --reload

sudo vim /etc/docker/daemon.json

{
"experimental": true
}

sudo systemctl restart docker

https://www.golinuxcloud.com/install-rancher-rocky-linux-9/ ''' sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --reload

https://docs.docker.com/engine/install/centos/
https://k3d.io/v5.4.9/

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum install -y kubelet kubeadm kubectl && sudo systemctl enable kubelet && sudo systemctl start kubelet
k3d cluster create master-worker -s 3 -a 2
k3d cluster create test -s 3 -a 3 -i rancher/k3s:v1.21.1-k3s1
k3d cluster stop master-worker && systemctl stop docker
systemctl start docker && k3d cluster start master-worker
k3d cluster create mycluster
k3d cluster list
k3d cluster del mycluster
kubectl describe deploy -n ingress-nginx
kubectl get namespace
kubectl config set-context --current --namespace=
kubectl config set-context ingress-admin@kubernetes --cluster=kubernetes --user=kubernetes-admin --namespace ingress-nginx
kubectl config use-context ingress-admin@kubernetes

조회 4종

sudo kubectl get nodes -o wide && sudo kubectl get pods -n kube-system -o wide && sudo kubectl get pods -o wide && sudo kubectl get namespaces

kubectl get nodes -o wide && kubectl get pods -n kube-system -o wide && kubectl get pods -o wide && kubectl get namespaces

조회 2종

sudo kubectl get nodes -o wide && sudo kubectl get all && sudo kubectl get pods --all-namespaces -o wide && sudo kubectl get svc,pod -o wide

pod 생성

kubectl run nginx --image nginx --port=80 --restart=Always
kubectl create -f nginx.yaml  # yaml로 생성
kubectl create 이미지명 # 이미지로 실행

Pod 접속

kubectl exec -it nginx bash

네임스페이스 추가

sudo kubectl create namespace 이름

depolyment 모두 삭제 특정 namespace

kubectl delete --all deployments --namespace=default

pods 모두 삭제 특정 namespace

kubectl delete pod nginx
kubectl delete --all pods --namespace=foo