kubeadm 싱글 클러스터 마스터 노드 생성
초기화
kubeadm init
===============================================
설정
마스터노드
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
cat > token.txt
kubeadm join 10.100.0.104:6443 --token j5izb2.vvnvzr1szkilhikq \
--discovery-token-ca-cert-hash sha256:2a5....
"ctrl+d press key"
- vxLAN 설치(weavenet)
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
================
워커노드 1,2,3
마스터에 조인
kubeadm join 10.100.0.104:6443 --token jn4muo.u5xjtopa33b1na1f \
--discovery-token-ca-cert-hash sha256:1049726750df941a4697043fc4751c9bc4ad5ba3a4011632245c87b80c3e36f4
mkdir -p $HOME/.kube
scp master:/etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
==============================
metrics-server (스케일 아웃 때 필요)
git clone https://github.com/kubernetes-incubator/metrics-server/
cd metrics-server/deploy/1.8+/
vi metrics-server-deployment.yaml (밑줄 추가)
containers:
- name: metrics-server
image: k8s.gcr.io/metrics-server-amd64:v0.3.1
imagePullPolicy: IfNotPresent
command:
- ./metrics-server
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
volumeMounts:
- name: tmp-dir
mountPath: /tmp
kubectl apply -f ./
kubectl get pods -all -namespaces
kubectl top nodes
===============================================
리셋 (초기화 하다 잘못됐을때)
kubeadm reset
다른 user에서 kubectl 실행
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
root에서 kubectl 실행
export KUBECONFIG=/etc/kubernetes/admin.conf
파드 네트워크 설치 후 CoreDNS 실행 확인
kubectl get pods --all-namespaces
마스터에 파드를 예약 해주는 명령어
kubectl taint nodes --all node-role.kubernetes.io/master-
토큰 보기
kubeadm token list
토큰 생성
kubeadm token create
해쉬값
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'
클러스터에 다른 노드 추가 (마스터노드 아이피:포트)
kubeadm join 10.0.2.5:6443 --token d83kcg.eqhortytxzs0i8u8 --discovery-token-ca-cert-hash sha256:56cee27250cbec85c7e8e0205cc14c91f4eeeacf46aa6f0a726c61983f7b9aa3
마스터노드가 아닌 다른노드에서 제어
scp root@<master ip>:/etc/kubernetes/admin.conf .
kubectl --kubeconfig ./admin.conf get nodes
클러스터외부에서 API서버 연결
scp root@<master ip>:/etc/kubernetes/admin.conf .
kubectl --kubeconfig ./admin.conf prox
kubeadm init
===============================================
설정
마스터노드
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
cat > token.txt
kubeadm join 10.100.0.104:6443 --token j5izb2.vvnvzr1szkilhikq \
--discovery-token-ca-cert-hash sha256:2a5....
"ctrl+d press key"
- vxLAN 설치(weavenet)
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
================
워커노드 1,2,3
마스터에 조인
kubeadm join 10.100.0.104:6443 --token jn4muo.u5xjtopa33b1na1f \
--discovery-token-ca-cert-hash sha256:1049726750df941a4697043fc4751c9bc4ad5ba3a4011632245c87b80c3e36f4
mkdir -p $HOME/.kube
scp master:/etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
==============================
metrics-server (스케일 아웃 때 필요)
git clone https://github.com/kubernetes-incubator/metrics-server/
cd metrics-server/deploy/1.8+/
vi metrics-server-deployment.yaml (밑줄 추가)
containers:
- name: metrics-server
image: k8s.gcr.io/metrics-server-amd64:v0.3.1
imagePullPolicy: IfNotPresent
command:
- ./metrics-server
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
volumeMounts:
- name: tmp-dir
mountPath: /tmp
kubectl apply -f ./
kubectl get pods -all -namespaces
kubectl top nodes
===============================================
리셋 (초기화 하다 잘못됐을때)
kubeadm reset
다른 user에서 kubectl 실행
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
root에서 kubectl 실행
export KUBECONFIG=/etc/kubernetes/admin.conf
파드 네트워크 설치 후 CoreDNS 실행 확인
kubectl get pods --all-namespaces
마스터에 파드를 예약 해주는 명령어
kubectl taint nodes --all node-role.kubernetes.io/master-
토큰 보기
kubeadm token list
토큰 생성
kubeadm token create
해쉬값
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'
클러스터에 다른 노드 추가 (마스터노드 아이피:포트)
kubeadm join 10.0.2.5:6443 --token d83kcg.eqhortytxzs0i8u8 --discovery-token-ca-cert-hash sha256:56cee27250cbec85c7e8e0205cc14c91f4eeeacf46aa6f0a726c61983f7b9aa3
마스터노드가 아닌 다른노드에서 제어
scp root@<master ip>:/etc/kubernetes/admin.conf .
kubectl --kubeconfig ./admin.conf get nodes
클러스터외부에서 API서버 연결
scp root@<master ip>:/etc/kubernetes/admin.conf .
kubectl --kubeconfig ./admin.conf prox
댓글
댓글 쓰기