728x90
kubectl create deployment in-hname-pod --image=sysnet4admin/echo-hname
kubectl create deployment in-ip-pod --image=sysnet4admin/echo-ip
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/aws/deploy.yaml
-----------------
# baremetal만 사용 가능
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/baremetal/deploy.yaml
---------------
kubectl get pods -n ingress-nginx
ubuntu@ip-172-31-8-104:~$ kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
ingress-nginx-admission-create-5gdwc 0/1 Completed 0 2m9s
ingress-nginx-admission-patch-gvglv 0/1 Completed 0 2m9s
ingress-nginx-controller-5c778bffff-cdd2c 1/1 Running 0 2m1s
# nginx controller
ingress-nginx-controller-5c778bffff-cdd2c 1/1 Running 0 2m1s
# ingress-config.yaml 생성
vim ingress-config.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-nginx
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hname-svc-default
port:
number: 80
- path: /ip
pathType: Prefix
backend:
service:
name: ip-svc
port:
number: 80
kubectl apply -f ingress-config.yaml
kubectl get ingress
# ingress.yaml 생성
vim ingress.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress-controller
namespace: ingress-nginx
spec:
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
nodePort: 30100
- name: https
protocol: TCP
port: 443
targetPort: 443
nodePort: 30101
selector:
app.kubernetes.io/name: ingress-nginx
type: NodePort
kubeclt apply -f ingress.yaml
kubectl get services -n ingress-nginx
kubectl expose deployment in-hname-pod --name=hname-svc-default --port=80,443
kubectl expose deployment in-ip-pod --name=ip-svc --port=80,443
kubectl get services
ubuntu@ip-172-31-8-104:~$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hname-svc-default ClusterIP 10.100.212.211 <none> 80/TCP,443/TCP 21s
ip-svc ClusterIP 10.100.51.121 <none> 80/TCP,443/TCP 11s
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 38m
# ip 주소가 뜨는걸 확인할 수 있다.
# 내 node의 ip주소
http://3.35.207.93:30100/ip
# 종료를 위한 삭제
kubectl delete deployment in-hname-pod
kubectl delete deployment in-ip-pod
kubectl delete services hname-svc-default
kubectl delete services ip-svc
kubectl delete -f ingress-nginx.yaml
728x90
'Bootcamp' 카테고리의 다른 글
[Kubernetes] Horizontal Pod Autoscaler (0) | 2024.02.07 |
---|---|
[Kubernetes] Ingress (0) | 2024.02.06 |
[Kubernetes] K8S nodeport (1) | 2024.02.06 |
[Kubernetes] Rolling Updte (0) | 2024.02.05 |
[AWS] kubectl 연습 (0) | 2024.02.05 |