


sudo snap install microk8s --classic --channel=1.30
sudo usermod -a -G microk8s $USER
mkdir -p ~/.kube
chmod 0700 ~/.kube
You will also need to re-enter the session for the group update to take place:
su - $USER
alias kubectl='microk8s kubectl'
kubectl create deployment nginx --image=nginx

kubectl get pods

microk8s enable dns

microk8s enable hostpath-storage

microk8s stop


microk8s start


----------- https://microk8s.io/docs/getting-started
microk8s enable dns
microk8s enable dashboard
microk8s enable storage
microk8s disable dns
microk8s disable dashboard
microk8s disable storage

kubectl get all --all-namespaces
sangbinlee9@app-1-db:~$ kubectl get all --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
cert-manager pod/cert-manager-b87697c98-m96kz 1/1 Running 1 (5m52s ago) 65m
cert-manager pod/cert-manager-cainjector-8bc6dd4bc-gsqmt 1/1 Running 1 (5m52s ago) 65m
cert-manager pod/cert-manager-webhook-d5699b5b6-g5mfs 1/1 Running 1 (5m52s ago) 65m
default pod/cm-acme-http-solver-2nng6 1/1 Running 1 (5m52s ago) 107m
default pod/nginx-bf5d5cf98-httq9 1/1 Running 1 (5m52s ago) 10m
default pod/webserver-depl-76cf999d7-fl8n4 1/1 Running 1 (5m52s ago) 101m
dev pod/webserver-depl-76cf999d7-xjh9m 1/1 Running 1 (5m52s ago) 66m
ingress-nginx pod/ingress-nginx-admission-create-xsw74 0/1 Completed 0 132m
ingress-nginx pod/ingress-nginx-admission-patch-sdrrz 0/1 Completed 1 132m
ingress-nginx pod/ingress-nginx-controller-69f9b58c58-n4ngh 1/1 Running 1 (5m52s ago) 132m
ingress pod/nginx-ingress-microk8s-controller-8zh94 1/1 Running 1 (5m52s ago) 6h33m
kube-system pod/calico-kube-controllers-796fb75cc-kjtq9 1/1 Running 1 (5m52s ago) 10h
kube-system pod/calico-node-mv2z8 1/1 Running 1 (5m52s ago) 10h
kube-system pod/coredns-5986966c54-bd6qb 1/1 Running 1 (5m52s ago) 10h
kube-system pod/dashboard-metrics-scraper-795895d745-dv9c5 1/1 Running 0 77s
kube-system pod/hostpath-provisioner-7c8bdf94b8-zjckz 1/1 Running 1 (5m52s ago) 156m
kube-system pod/kubernetes-dashboard-6796797fb5-bsjdx 1/1 Running 0 77s
kube-system pod/metrics-server-7cff7889bd-f8b6n 1/1 Running 0 78s
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
cert-manager service/cert-manager ClusterIP 10.152.183.146 <none> 9402/TCP 5h32m
cert-manager service/cert-manager-webhook ClusterIP 10.152.183.55 <none> 443/TCP 5h32m
default service/cm-acme-http-solver-lvcd9 NodePort 10.152.183.62 <none> 8089:31234/TCP 107m
default service/kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 10h
default service/webserver-svc ClusterIP 10.152.183.186 <none> 80/TCP 101m
dev service/webserver-svc ClusterIP 10.152.183.179 <none> 80/TCP 66m
ingress-nginx service/ingress-nginx-controller LoadBalancer 10.152.183.24 <pending> 80:30569/TCP,443:31718/TCP 132m
ingress-nginx service/ingress-nginx-controller-admission ClusterIP 10.152.183.97 <none> 443/TCP 132m
kube-system service/dashboard-metrics-scraper ClusterIP 10.152.183.237 <none> 8000/TCP 77s
kube-system service/kube-dns ClusterIP 10.152.183.10 <none> 53/UDP,53/TCP,9153/TCP 10h
kube-system service/kubernetes-dashboard ClusterIP 10.152.183.156 <none> 443/TCP 77s
kube-system service/metrics-server ClusterIP 10.152.183.22 <none> 443/TCP 78s
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ingress daemonset.apps/nginx-ingress-microk8s-controller 1 1 1 1 1 <none> 6h33m
kube-system daemonset.apps/calico-node 1 1 1 1 1 kubernetes.io/os=linux 10h
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
cert-manager deployment.apps/cert-manager 1/1 1 1 5h32m
cert-manager deployment.apps/cert-manager-cainjector 1/1 1 1 5h32m
cert-manager deployment.apps/cert-manager-webhook 1/1 1 1 5h32m
default deployment.apps/nginx 1/1 1 1 10m
default deployment.apps/webserver-depl 1/1 1 1 101m
dev deployment.apps/webserver-depl 1/1 1 1 66m
ingress-nginx deployment.apps/ingress-nginx-controller 1/1 1 1 132m
kube-system deployment.apps/calico-kube-controllers 1/1 1 1 10h
kube-system deployment.apps/coredns 1/1 1 1 10h
kube-system deployment.apps/dashboard-metrics-scraper 1/1 1 1 77s
kube-system deployment.apps/hostpath-provisioner 1/1 1 1 156m
kube-system deployment.apps/kubernetes-dashboard 1/1 1 1 77s
kube-system deployment.apps/metrics-server 1/1 1 1 78s
NAMESPACE NAME DESIRED CURRENT READY AGE
cert-manager replicaset.apps/cert-manager-b87697c98 1 1 1 65m
cert-manager replicaset.apps/cert-manager-cainjector-8bc6dd4bc 1 1 1 65m
cert-manager replicaset.apps/cert-manager-cainjector-dc95f9d66 0 0 0 5h32m
cert-manager replicaset.apps/cert-manager-d5fcf78bc 0 0 0 5h32m
cert-manager replicaset.apps/cert-manager-webhook-74f996695 0 0 0 5h32m
cert-manager replicaset.apps/cert-manager-webhook-d5699b5b6 1 1 1 65m
default replicaset.apps/nginx-bf5d5cf98 1 1 1 10m
default replicaset.apps/webserver-depl-76cf999d7 1 1 1 101m
dev replicaset.apps/webserver-depl-76cf999d7 1 1 1 66m
ingress-nginx replicaset.apps/ingress-nginx-controller-69f9b58c58 1 1 1 132m
kube-system replicaset.apps/calico-kube-controllers-796fb75cc 1 1 1 10h
kube-system replicaset.apps/coredns-5986966c54 1 1 1 10h
kube-system replicaset.apps/dashboard-metrics-scraper-795895d745 1 1 1 77s
kube-system replicaset.apps/hostpath-provisioner-7c8bdf94b8 1 1 1 156m
kube-system replicaset.apps/kubernetes-dashboard-6796797fb5 1 1 1 77s
kube-system replicaset.apps/metrics-server-7cff7889bd 1 1 1 78s
NAMESPACE NAME STATUS COMPLETIONS DURATION AGE
ingress-nginx job.batch/ingress-nginx-admission-create Complete 1/1 8s 132m
ingress-nginx job.batch/ingress-nginx-admission-patch Complete 1/1 9s 132m
sangbinlee9@app-1-db:~$
Install a local Kubernetes with MicroK8s
microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1
microk8s kubectl scale deployment microbot --replicas=2

kubectl get all --all-namespaces


Integrated commands
There are many commands that ship with MicroK8s. We’ve only seen the essential ones in this tutorial. Explore the others at your own convenience:
microk8s status: Provides an overview of the MicroK8s state (running / not running) as well as the set of enabled addons
microk8s enable: Enables an addon
microk8s disable: Disables an addon
microk8s kubectl: Interact with kubernetes
microk8s config: Shows the kubernetes config file
microk8s istioctl: Interact with the istio services; needs the istio addon to be enabled
microk8s inspect: Performs a quick inspection of the MicroK8s intallation
microk8s reset: Resets the infrastructure to a clean state
microk8s stop: Stops all kubernetes services
microk8s start: Starts MicroK8s after it is being stopped

https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s#7-thats-all-folks

/////////////////////////////////////////////////
microk8s status --wait-ready

kubectl get nodes

kubectl get services

microk8s status

https://kubernetes.github.io/ingress-nginx/deploy/#quick-start


............... 휴식후 재도전
............... 원격으로 dashboard 서비스에 접근하는 세팅
microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443 --address 0.0.0.0


http://192.168.0.41:10443/ -------- x
https://192.168.0.41:10443/ -------- o

................ token 값은
microk8s kubectl create token default


eyJhbGciOiJSUzI1NiIsImtpZCI6IlJGdnNCYlgzUVNBejRfbnRRRklIa2cxd2tFNmpuU3lfd0c4SVVUblNjdG8ifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjIl0sImV4cCI6MTcyMzczOTYyOSwiaWF0IjoxNzIzNzM2MDI5LCJpc3MiOiJodHRwczovL2t1YmVybmV0ZXMuZGVmYXVsdC5zdmMiLCJqdGkiOiI2ZmI3YWNjYS1kNmM2LTQxZDItYWYwZi02OGRmY2Q1M2QyNWQiLCJrdWJlcm5ldGVzLmlvIjp7Im5hbWVzcGFjZSI6ImRlZmF1bHQiLCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoiZGVmYXVsdCIsInVpZCI6ImNjZWE3MzU1LTgyMDQtNDIxYi04ZDc3LWY5NjZlMzVkNDM5NCJ9fSwibmJmIjoxNzIzNzM2MDI5LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkZWZhdWx0In0.WbWZ201b20VRa9wjn5xvSE3422V3zI-uJ2ITqAltfk58Dz80xGEyQeVf6tV6CFLKF-j3frjyDrqFoVMNW1ajEf0Wkwt-duN-J3MaLSqAE4P2yRn7dLn3IxkVxaeZRl7lyZl5dEh1aUcNdDjtFjXZPQDoBVFlALDED2HEO63N93y19PZ4Py85jmKmX_Xhz8VmDYZDQ1uYzY0ZQmAZpRoZgoORub98mn3hv5U5iysKaQBrYp3LD7uLyigpIsYqAxF0z8_nlZ3AiZQ0nLf8hjt9MZDal25vnb0o_giPOSw9SrEu-cRAYP4fmJskoVdjcQFjYM42XalVKkBsapClF-TRmg

namespace=default

namespace=cert-manager

................ 규칙 추가하기
라우팅 규칙을 추가하기 위해서는 먼저 관련 설정 파일은 준비해야 한다.
아래 설정 파일은 kubernetes-dashboard 서비스를 /dashboard 에 연결하는 설정이다.





................ dashboard 토큰 로그인

microk8s kubectl create token default


eyJhbGciOiJSUzI1NiIsImtpZCI6IlJGdnNCYlgzUVNBejRfbnRRRklIa2cxd2tFNmpuU3lfd0c4SVVUblNjdG8ifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjIl0sImV4cCI6MTcyMzc0NTY3MCwiaWF0IjoxNzIzNzQyMDcwLCJpc3MiOiJodHRwczovL2t1YmVybmV0ZXMuZGVmYXVsdC5zdmMiLCJqdGkiOiJiOTE4MDM5Yi1lMWE1LTQzOWItYWE1MC1lYWQzYzQwZWQzMDMiLCJrdWJlcm5ldGVzLmlvIjp7Im5hbWVzcGFjZSI6ImRlZmF1bHQiLCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoiZGVmYXVsdCIsInVpZCI6ImNjZWE3MzU1LTgyMDQtNDIxYi04ZDc3LWY5NjZlMzVkNDM5NCJ9fSwibmJmIjoxNzIzNzQyMDcwLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkZWZhdWx0In0.R7VcBM25yLngqpZe51-QP1IauFOXtbOr6DAp_--n5Ta9cfrZlA-1NSUJatRDE1rvckg8Um98nRMZqN_rhRrj544VEWHqcZR7vBlwoI2uHIGw_D4_eMAo7jWYItT0ATybulyU2ZLu40GYJpn6kQrfqbvAnBCN18_U0UsdzvEUlc-r9CcaMJmHBaf-NQSmg6tQnmr5EXF-61cavr6VG-Zz6Bcy8cY5kuHBDhHooBFwC-iHzfr8OeBcwz-BUJLKW6uFWDjeQaIKu18DqRKtVyCgU95J_n3iiQ6A-pd7NSjJBuWyBtp0UnbgKE4drx7QYJ7ykkoNtWJ4y9mb7YQtM-CfEQ


----------- Installing Ingress Nginx to MicroK8s
Prerequisites


microk8s enable cert-manager ingress dns
---- Create a deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: webserver-depl

microk8s kubectl apply -f deployment.yaml
microk8s kubectl get pods

---- Create a service
microk8s kubectl apply -f service.yaml
microk8s kubectl get services

---- Create a cluster issuer and an ingress
---- SSL Issuer

microk8s kubectl apply -f clusterissuer-staging.yaml
microk8s kubectl describe clusterissuers

---- ingress
---- Setup Ingress

microk8s kubectl apply -f ingress.yaml

microk8s kubectl describe challenges

-------------- k8s etc

--------- cert-manager

-------------- micro8ks 나중에 다시 도전---------