์ฟ ๋ฒ๋คํฐ์ค ๋ฒ์ v1.6.1
ํ๊ฒฝ :
๋ฌด์จ ์ผ์ด ์์๋์ง :
kubernetes ์ด๊ธฐํ
์๋ํ ๊ฒ๋ณด๋ค kubeadm init --kubernetes-version=v1.6.1 --pod-network-cidr=10.244.0.0/16
kubectl taint nodes --all node-role.kubernetes.io/master-
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ป์์ต๋๋ค
The connection to the server localhost:8080 was refused - did you specify the right host or port?
์๋๋ฉด ์ด๊ฑฐ
# kubectl apply -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
The connection to the server localhost:8080 was refused - did you specify the right host or port?
๋๋
# kubectl version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:44:38Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/arm64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
๋๋จํฉ๋๋ค..๊ฐ์ฌํฉ๋๋ค.. ์ฑ๊ณตํ์ต๋๋ค.
์์ ์ 3๋ถ Kubernetes ์ฌ์ฉ ์์ ์์ Udacity์์ Scalable Microservices with Kubernetes https://classroom.udacity.com/courses/ud615 ๋ผ๋ ์์ต์๋ฅผ ์ํํ ๋ ๋์ผํ ์ค๋ฅ๋ฅผ ์ฌํํฉ๋๋ค.
๋จ์ผ ์ธ์คํด์ค ์์:
kubectl run nginx --image=nginx:1.10.0
์ค๋ฅ:
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
์ค๋ฅ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ:
๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๋ก๊ทธ์ธ
Container Engine Google Cloud Platform, Container Engine์ผ๋ก ์ด๋
ํด๋ฌ์คํฐ์์ ์ฐ๊ฒฐ์ ํด๋ฆญํฉ๋๋ค.
๋ก๊ทธ์ธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ ํฐ๋ฏธ๋์ [NAME] ํด๋ฌ์คํฐ์ ์ก์ธ์ค
์์ ์ ์งํํฉ๋๋ค!!!
๋ช
๋ น์ ์๋ํ ๋
kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster"
๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์ ๋ ๋ฌด์์ ๋๊น?
_์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ จ์ต๋๊น?_
@csarora์ ์๋ฃจ์ ์ด ์ ์๊ฒ
์๋
์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋๊ตฌ๋ ์ง ์ด ์ค๋ฅ์ ๋ํด ๋์์ ๋ฐ์ ์ ์์ต๋๋ค.
kubectl ๋ฒ์
ํด๋ผ์ด์ธํธ ๋ฒ์ : version.Info{์ฃผ:"1", ๋ถ:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState::"clean", BuildDate:"20:"20 38Z", GoVersion:"go1.7.5", ์ปดํ์ผ๋ฌ:"gc", ํ๋ซํผ:"linux/arm64"}
์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น?
@csarora
csarora๊ฐ 4์ 19์ผ์ ๋๊ธ์ ๋จ๊ฒผ์ต๋๋ค.
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
fedya๊ฐ 4์ 19์ผ์ ๋ซ์์ต๋๋ค.
@sharif786
sharif786์ด 5์ 5์ผ์ ๋๊ธ์ ๋จ๊ฒผ์ต๋๋ค.
๋๋จํฉ๋๋ค..๊ฐ์ฌํฉ๋๋ค.. ์ฑ๊ณตํ์ต๋๋ค.
@GoodFaithParadigm8
GoodFaithParadigm8์ด 29์ผ ์ ์ ๋๊ธ์ ๋จ๊ฒผ์ต๋๋ค.
์์ ์ 3๋ถ Kubernetes ์ฌ์ฉ ์์ ์์ Udacity์์ Scalable Microservices with Kubernetes https://classroom.udacity.com/courses/ud615 ๋ผ๋ ์์ต์๋ฅผ ์ํํ ๋ ๋์ผํ ์ค๋ฅ๋ฅผ ์ฌํํฉ๋๋ค.
๋จ์ผ ์ธ์คํด์ค ์์:
kubectl ์คํ nginx --image= nginx:1.10.0
์ค๋ฅ:
์๋ฒ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค: ์ ํ tcp [::1]:8080: connectex: ๋์ ์์คํ ์ด ์ ๊ทน์ ์ผ๋ก ๊ฑฐ๋ถํ๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ค๋ฅ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ:
๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๋ก๊ทธ์ธ
Container Engine Google Cloud Platform, Container Engine์ผ๋ก ์ด๋
ํด๋ฌ์คํฐ์์ ์ฐ๊ฒฐ์ ํด๋ฆญํฉ๋๋ค.
๋ก๊ทธ์ธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ ํฐ๋ฏธ๋์ [NAME] ํด๋ฌ์คํฐ์ ์ก์ธ์ค
์์
์ ์งํํฉ๋๋ค!!!
@lithint
lithint๊ฐ 7์ผ ์ ์ ๋๊ธ์ ๋จ๊ฒผ์ต๋๋ค.
๋ช
๋ น์ ์๋ํ ๋
kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster"
๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์ ๋ ๋ฌด์์ ๋๊น?
์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น?
admin.conf
์ด ์์์ต๋๋ค.
๋ด๊ฐ ๋ญ ๋์น ๊ฑฐ ์๋?
admin.conf๋ ํ๊ณต์์ ๋์์ผ ํฉ๋๋ค.
DC/OS๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํจ์ฌ ๋ ์ ์๋ํ๋ฉฐ ์ด๋ ๋ชจ๋ ํด๋ผ์ฐ๋ ์ฝ์๋งํผ ๊ณ ํต์ค๋ฝ์ต๋๋ค. ์!
1.8 kubelet.conf๊ฐ ์ ๋ฅผ ์ํด ์ผํ ๋๊น์ง @Rukeith @jeffhoffman13
์ง๊ธ ์ด๊ฒ์ ์ด๋ค ์ด์ ๋ก ๋๋ฝ๋์์ต๋๋ค ...
Travis CI์์ gcloud๋ฅผ ํตํด ์ค์นํ ํ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. admin.conf
์ฐพ์ ์ ์์ต๋๋ค
http://localhost :8080/
admin.conf๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์ง๊ธ ํด์ผ ํ ์ผ plz ๋์์ฃผ์ธ์
@Kensupermen @MSKPV @Rukeith
admin.conf๋ join ๋ช ๋ น์ด ์๋๋ผ init ๋ช ๋ น์ ์คํํ ๋ ์์ฑ๋ฉ๋๋ค.
sudo
๊ถํ ๋ชจ๋๋ก ์คํ ์๋
sudo kubectl....
@italojs ๋ด๊ฐ ๋งํ๋ฏ์ด admin.conf๋ ์ ์ด๋ ๋ด๊ฐ ์๋ง์ผ๋ก ๋ง๋ค ๋ ์กฐ์ธ ๋ช ๋ น์ด ์๋๋ผ init ๋ช ๋ น์ ์คํํ ๋ ์์ฑ๋ฉ๋๋ค. ์ํ๋ ๋งํผ sudo๋ฅผ ์ ๋ ฅํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ์ ๊ฐ์ ํ๋ฉด admin.conf๊ฐ ์์ฑ๋์ง ์์ต๋๋ค.
.kube ํด๋๋ฅผ ๋ง๋ค๊ณ yaml ํ์ผ๊ณผ pem ํ์ผ(k8s ๊ด๋ จ)์ด ์๋ ๋๋ ํ ๋ฆฌ์ ๋ํ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ง๋ค๊ณ .kube ํด๋ ๋ด์ ์ค๋ฅธ์ชฝ smylink๋ฅผ ์ค๋ฅธ์ชฝ yml ํ์ผ๋ก ๋ง๋ญ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ด์ผ ํฉ๋๋ค...
minikube๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์๋ํ์ญ์์ค
$ minikube ์ญ์
๊ทธ ๋ค์์
$ ๋ฏธ๋ํ๋ธ ์์
์ฌ๋ฌ๋ถ ์๋ ํ์ธ์. ๋น์ ์ ๋์์ด ํ์ํฉ๋๋ค. ๋ด MAC์ kubectl๊ณผ minikube๋ฅผ ์ค์นํ์ง๋ง ๋ ๋ค ์๋ํ์ง ์์ต๋๋ค.
minikube start๋ฅผ ์คํํ๋ฉด "Segmentation fault: 11" ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
kubectl get nodes๋ฅผ ์คํํ ๋ "์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น?" ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ๋์์ฃผ์ธ์.
vim /etc/hosts
127.0.0.1 ๋ก์ปฌ ํธ์คํธ
์์ :
10.0.0.8 ๋ก์ปฌ ํธ์คํธ
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
๊ณ ๋ง์, ํจ๊ณผ๊ฐ ์์๋ค!
์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋
ธ๋๋ฅผ ์ค์นํ๋ ๋์ ๋์์ฃผ์ธ์.
์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น?
๊ตฌ์ฑ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฃจํธ๋ฅผ ์ฌ์ฉํ์ฌ kubernetes๋ฅผ ์ค์ ํ๊ณ ๋ค๋ฅธ ์ฌ์ฉ์๋ก๋ถํฐ kubectl ๋ช
๋ น์ ์คํํ๋ ค๊ณ ํ๋ฉด ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์๋ ๋ช
๋ น์ ์คํํ์ญ์์ค.
root@devops :~# cp -r .kube/ /home/ubuntu/
root@devops :~# chown -R ์ฐ๋ถํฌ:์ฐ๋ถํฌ /home/ubuntu/.kube
root@devops :~# ์ฐ๋ถํฌ su
root@devops :~# kubectl get pod -o wide
์ด๋ฆ ์ค๋น ์ํ ๋ค์ ์์ ์ฐ๋ น IP ๋
ธ๋ ์ง์ ๋
ธ๋
cron 1/1 ์คํ 0 2h 10.244.0.97 devops
admin.conf๋ฅผ ์ฐพ์ ์ ์๋ ์ฌ๋๋ค์๊ฒ ์ด๊ฒ์ Linux์ ์ทจํฅ๊ณผ ๊ด๋ จ์ด ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ฌ์ฉํฉ๋๋ค.
์
๋ฐ์ดํธ๋จ
admin.conf ์ฐพ๊ธฐ
์ด ๋ฐฉ๋ฒ์ผ๋ก ํ์ผ์ ์ฐพ์์ต๋๋ค. ์ฌ๋ฌ๋ถ์๊ฒ๋ ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค!
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
์ด๊ฒ์ ๋ฌธ์๋ก ์ฎ๊ฒจ์ผ ํฉ๋๊น? ์๋์? AFAIK ์ค์ ๋๋ฝ
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
์ด๊ฒ์ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค ๐ฏ
๋์ค์ ์ด ๋ง์คํฐ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์ธ์ฆ์์ ํ ํฐ์ ์์ฑํ๊ธฐ ์ํด ๋ค์ ๋ช ๋ น ๋ฐ๋ก ๋ค์์ ์ด ๋ช ๋ น์ ์คํํ์ต๋๋ค.
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address $MASTER_IP
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
๋ง์คํฐ์๊ฒ ๊ฑฐ๋ถ๋์ง ์๋ ์ฐ๊ฒฐ์ ์ป๊ธฐ ์ํด ์ทจํด์ผ ํ ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ํธ๋์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ผ๋ถ ๋ฃจํธ ๋งค๋ด์ผ์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค. @csarora ๊ฐ์ฌ
ํด๋ฌ์คํฐ๊ฐ ์์ฑ๋์ง ์์๊ธฐ ๋๋ฌธ์ kubectl get all
์์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. gcloud container clusters create
๋ก ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ํ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๊ณ kubectl ๋ช
๋ น์ด ์๋ํ์ต๋๋ค.
http://localhost :8080/
@kopollo
http://localhost:8080/ -> http://localhost.support/ :8080 ???
์คํธ/๋์์ฒ๋ผ ๋ณด์ด๋์? ๋๊ตฐ๊ฐ ์ด ๋๊ธ์ ์ญ์ ํ ์ ์๋์?
rancher์์ ์ค์นํ k8s ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ๋๋ฐ kubeadm์ ์ค์นํ์ง ์์์ต๋๋ค. admin.conf๋ ์ด๋ป๊ฒ ์์ฑํ๋์?
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
๊ฐ์ฌ ํด์! ๋ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋ด๊ฐ ๋ง๋ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น?
์ฌ๋ ์ด๋ธ ๋
ธ๋์ ๊ตฌ์ฑ ํ์ผ "config"๊ฐ ์๊ธฐ ๋๋ฌธ์
ํด๊ฒฐ์ฑ
์ฃผ์ธ:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube.conf
๋
ธ์ :
์๊ฒฉ ๋ง์คํฐ ๋
ธ๋์์ ํ์ผ์ ๋ณต์ฌํ๊ณ config๋ก ์ด๋ฆ์ ๋ฐ๊ฟ๋๋ค.
mkdir -p $HOME/.kube/
scp root<strong i="20">@matet</strong>:/etc/kubernetes/admin.conf $HOME/.kube/config
minikube๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ minikube๋ฅผ ์์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ด์ฐฎ์ ๊ฒ์ ๋๋ค.
$ minikube start
์คํ๋๊ณ ๋๋ฉด kubectl ๋ฒ์ ์ ํ์ธํ์ญ์์ค.
$ kubectl version
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค
cp /etc/kubernetes/admin.conf /root/.kube/config
์ด ๋ฌธ์ ๋ ๋ฃจํธ ๊ณ์ ์ ์ฌ์ฉํ๊ณ ์์๊ณ ์ผ๋ฐ ์ฌ์ฉ์๋ก ๋ค์ ์ ํํ๊ณ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ช ๋ น์ ์คํํ๋ค๋ ๊ฒ์ ๋๋ค.
2๊ฐ ์ด์์ ๋
ธ๋๊ฐ ์๋ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ(kubeadm, k8s, ... ์ฌ์ฉ) @SunHarvey ์๋ฃจ์
์ด ์๋ํฉ๋๋ค. ์ฌ๊ธฐ์์ kubeadm init
๋ช
๋ น์ ์คํํ๊ธฐ ๋๋ฌธ์ admin.conf ํ์ผ์ ๋ง์คํฐ ๋
ธ๋์์๋ง ์์ฑ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ด์ฉ์ ์ฌ๋ ์ด๋ธ ๋
ธ๋์ ๋ณต์ฌํด์ผ ํฉ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ์ค์น ์ฌ์ฉ์์๊ฒ kubectl ์ค์น๋ฅผ ์ง์ ํ์ธํ๋๋ก ์ง์ํ๋ ์ด ํ์ด์ง๋ฅผ ์์ ํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค... https://kubernetes.io/docs/tasks/tools/install-kubectl/
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
kubectl version
์คํํ ๋ ์ฌ์ ํ ๋์ผํ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
VM์์ ์คํํ๋ ค๋ ๊ฒฝ์ฐ
minikube delete
์คํํ์ฌ ํ์ฌ minikube ํ๋กํ์ ์ญ์ ํฉ๋๋ค.minikube start --vm-driver=none
ํ๋๊ทธ๋ก minikube ๋ค์ ์์/etc/kubernetes/manifests/kube-apiserver.yaml์ ํ์ธํ๊ณ "insecure-port"๊ฐ 8080์ผ๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ญ์์ค. ์ ๊ฒฝ์ฐ์๋ ์ด๊ฒ์ด ์ด์ ์ ๋๋ค.
์ด๊ฒ์ .kube/config ํ์ผ์ ์๋ชป๋ ๋ค์ฌ์ฐ๊ธฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ์ต๋๋ค(์๋ ํธ์ง์ผ๋ก ์ธํด).
์๋ฅผ ๋ค์ด, ๋ ธํธ๋ถ(๋ก์ปฌ)์์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์คํํ๋ ค๋ ๊ฒฝ์ฐ Minikube์ ๊ฐ์ ๋๊ตฌ๋ฅผ ๋จผ์ ์ค์นํ ๋ค์ ์์์ ์ค๋ช ํ ๋ช ๋ น์ ๋ค์ ์คํํด์ผ ํฉ๋๋ค.
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
๊ฐ์ฌํฉ๋๋ค
์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ ๋ฌด์์ ๋๊น? ๋๋ ์ ์
์์ ๋์ด๋ ์ง์นจ์ ๋ฐ๋์ ๋ Travis์์ chown: cannot access '/home/travis/.kube/config': No such file or directory
...
๋
๋ฆฝ ์คํํ ๋ชจ๋์์ kubelet์ ์คํํ๊ณ ์์ต๋๋ค.
๋ด /var/lib/config.yaml์ ์๋์ผ๋ก ๋ง๋ค์์ต๋๋ค.
$ cat /var/lib/kubelet/config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
authentication:
anonymous:
enabled: true
webhook:
enabled: false
authorization:
mode: AlwaysAllow
clusterDNS:
- 127.0.0.53
clusterDomain: cluster.local
fileCheckFrequency: 20s
httpCheckFrequency: 20s
staticPodPath: /etc/kubernetes/manifests
enable-controller-attach-detach:
- "false"
๋ด ์ ์ ํฌ๋ ํ์ผ์ ์๋์ผ๋ก ์์ฑํ์ฌ staticPodPath์ ๋ฃ์ต๋๋ค.
์์๋๋ก ํฌ๋๋ฅผ ์์ฑํ์ต๋๋ค.
"kubeadm init"๋ฅผ ์คํํ์ง ์์์ต๋๋ค. API ์๋ฒ๋ ์์ต๋๋ค. ๋ฐ๋ผ์ "admin.conf"๊ฐ ์์ต๋๋ค.
kubelet ๋ช
๋ น ์คํ์ "The connection to the server localhost:8080 was refused"
์ ํจ๊ป ์คํจํฉ๋๋ค.
ํ์ง๋ง ๋ ์ง์คํธ๋ฆฌ์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ํ์ํ ๋น๋ฐ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํ์ด ์์ต๋๊น?
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf
์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo: ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ก๋ ์ค ์ค๋ฅ: libpam.so.0: ๊ณต์ ๊ฐ์ฒด ํ์ผ์ ์ด ์ ์์: ํด๋น ํ์ผ ๋๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ต๋๋ค.
์คํํด์ผ ํ ์๋ ์์ต๋๋ค: minikube ์์
"์๋ฒ localhost:8080 ์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น?"๋ผ๋ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
root @book :/home/user# su - ์ฌ์ฉ์ user@book : ~ $ kubectl ๋ฒ์ -o json { "ํด๋ผ์ด์ธํธ ๋ฒ์ ": { "์ฃผ์": "1", "์ฌ์ํ": "19", "gitVersion": "v1.19.2", "gitCommit": "f5743093fd1c663cb0cbc89748f730662345d44d", "gitTreeState": "๊นจ๋ํ", "buildDate": "2020-09-16T13:41:02Z", "goVersion": "go1.15", "์ปดํ์ผ๋ฌ": "gc", "ํ๋ซํผ": "linux/amd64" } } ์๋ฒ localhost:8080์ ๋ํ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํธ์คํธ ๋๋ ํฌํธ๋ฅผ ์ง์ ํ์ต๋๊น? user@book : ~ $ minikube ์์ ๐ Ubuntu 20.04์ minikube v1.13.1 โจ virtualbox ๋๋ผ์ด๋ฒ๊ฐ ์๋์ผ๋ก ์ ํ๋์์ต๋๋ค. ๐ฟ VM ๋ถํ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ ์ค... > minikube-v1.13.1.iso.sha256: 65 B / 65 B [----------------] 100.00% ? p/s 0์ด > minikube-v1.13.1.iso: 173.91MiB / 173.91MiB 100.00% 2.41MiB p/s 1m12s ๐ ํด๋ฌ์คํฐ minikube์์ ์ ์ด ํ๋ฉด ๋ ธ๋ minikube ์์ ๐พ Kubernetes v1.19.2 ์ฌ์ ๋ก๋ ๋ค์ด๋ก๋ ์ค... > ์ฌ์ ๋ก๋๋ ์ด๋ฏธ์ง-k8s-v6-v1.19.2-docker-overlay2-amd64.tar.lz4: 486.36MiB ๐ฅ virtualbox VM ์์ฑ ์ค(CPU=2, ๋ฉ๋ชจ๋ฆฌ=3900MB, ๋์คํฌ=20000MB) ... ๐ฅ virtualbox์์ "minikube" ์ญ์ ์ค... ๐คฆ StartHost๊ฐ ์คํจํ์ง๋ง ๋ค์ ์๋ํฉ๋๋ค: ํธ์คํธ ์์ฑ: ์์ฑ: ์์ฑ: /usr/bin/VBoxManage storagectl minikube --name SATA --add sata --hostiocache on ์คํจ: VBoxManage: ์ค๋ฅ: 'SATA'๋ผ๋ ์ ์ฅ์ ์ปจํธ๋กค๋ฌ๊ฐ ์ด๋ฏธ ์์ต๋๋ค. VBoxManage: ์ค๋ฅ: ์ธ๋ถ ์ ๋ณด: ์ฝ๋ VBOX_E_OBJECT_IN_USE(0x80bb000c), ๊ตฌ์ฑ ์์ SessionMachine, ์ธํฐํ์ด์ค IMachine, ์์ ์ nsISupports VBoxManage: ์ค๋ฅ: ์ปจํ ์คํธ: VBoxManageStorageController.cpp ํ์ผ์ 1078ํ์์ "AddStorageController(Bstr(pszCtl).raw(), StorageBus_SATA, ctl.asOutParam())" ๐ฅ virtualbox VM ์์ฑ ์ค(CPU=2, ๋ฉ๋ชจ๋ฆฌ=3900MB, ๋์คํฌ=20000MB) ... ๐ณ Docker 19.03.12์์ Kubernetes v1.19.2 ์ค๋น ์ค ... ๐ Kubernetes ๊ตฌ์ฑ ์์ ํ์ธ ์ค... ๐ ํ์ฑํ๋ ์ ๋์จ: default-storageclass, storage-provisioner ๐ ์๋ฃ! kubectl์ ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก "minikube"๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. user@book : ~ $ kubectl ๋ฒ์ -o json { "ํด๋ผ์ด์ธํธ ๋ฒ์ ": { "์ฃผ์": "1", "์ฌ์ํ": "19", "gitVersion": "v1.19.2", "gitCommit": "f5743093fd1c663cb0cbc89748f730662345d44d", "gitTreeState": "๊นจ๋ํ", "buildDate": "2020-09-16T13:41:02Z", "goVersion": "go1.15", "์ปดํ์ผ๋ฌ": "gc", "ํ๋ซํผ": "linux/amd64" }, "์๋ฒ ๋ฒ์ ": { "์ฃผ์": "1", "์ฌ์ํ": "19", "gitVersion": "v1.19.2", "gitCommit": "f5743093fd1c663cb0cbc89748f730662345d44d", "gitTreeState": "๊นจ๋ํ", "buildDate": "2020-09-16T13:32:58Z", "goVersion": "go1.15", "์ปดํ์ผ๋ฌ": "gc", "ํ๋ซํผ": "linux/amd64" } }
๋๋จํฉ๋๋ค..๊ฐ์ฌํฉ๋๋ค.. ์ฑ๊ณตํ์ต๋๋ค.
๋๋ถ์ ์ ์๊ฒ๋ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
kubeadm init ํ์ ์๋ ๋ช ๋ น์ ์คํํ์ต๋๊น?
ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์์ํ๋ ค๋ฉด (์ผ๋ฐ ์ฌ์ฉ์๋ก) ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
๋ด๋ณด๋ด๊ธฐ KUBECONFIG=$HOME/admin.conf