지돌이의 블로그 입니다!

Kubernetes에서 사용할 Deployment/Service설정 yaml을 온라인 상에서 GUI로 만들 수 있게ㅜ도와주는걸 만들었습니다.

 

https://jc-lab.github.io/auto-generator/#/

 

kube-yaml-generator

 

jc-lab.github.io

 

github에 소스 공개되어 있으니 기능 추가 및 개선 PR주심 넘나 감사!

 

 

https://github.com/jc-lab/auto-generator/

 

jc-lab/auto-generator

Contribute to jc-lab/auto-generator development by creating an account on GitHub.

github.com

 

Comment +0

Kubernetes

Master Node 초기화

  1. sysctl 수정

현재 Runtime에 대한 sysctl 변경

$ sudo sysctl net.bridge.bridge-nf-call-iptables=1

vim 으로 sysctl 에 대한 영구 설정 변경

$ sudo vim /etc/sysctl.d/99-sysctl.conf

net.bridge.bridge-nf-call-iptables=1 # 추가
  1. kubeadm
$ sudo kubeadm init --pod-network-cidr=172.30.0.0/16 --service-cidr=10.244.0.0/16

마지막에 나오는 문장 기억해놓기

kubeadm join 10.0.0.2:6443 --token ssssss.asdasdasdas --discovery-token-ca-cert-hash sha256:asdasdasdasdasdasdsadsad

이런거

  1. 관리자 사용자 설정
# 관리자 사용자 계정에서
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
  1. Network overlay 추가
# 다운로드
$ wget https://raw.githubusercontent.com/coreos/flannel/v0.11.0/Documentation/kube-flannel.yml

# 내용 수정
$ vim kube-flannel.yml
# net-conf.json 부분의 "Network": "10.244.0.0/16" => "Network": "172.30.0.0/16" 으로 변경 후 저장

# 적용
$ kubectl apply -f kube-flannel.yml
  1. Slave Node 설정
# Slave Node 에서
$ sudo kubeadm join 10.0.0.2:6443 --token ssssss.asdasdasdas --discovery-token-ca-cert-hash sha256:asdasdasdasdasdasdsadsad
  1. 1분쯤 지나도 kubectl get nodes 에서 Slave노드가 NotReady 라면
$ sudo mkdir -p /etc/cni/net.d
$ sudo vim /etc/cni/net.d/10-flannel.conflist
# 파일 만들기 (이건 모든 node에서,없는경우)

{
    "name": "cbr0",
    "plugins": [
        {
            "type": "flannel",
            "delegate": {
                "hairpinMode": true,
                "isDefaultGateway": true
            }
        },
        {
            "type": "portmap",
            "capabilities": {
                "portMappings": true
            }
        }
    ]
}

$ sudo systemctl restart kubelet

Comment +0

kubelet와 kubernetes-cni를 업그레이드 하고 관련해서 flannel등등 업그레이드 하고...

 

중요한 것!

 

# kubeadm upgrade apply v1.14.2

 

이 명령으로 apiserver를 업그레이트 해 주어야 한다!

 

1.13.1 환경에서 가끔 연결 끊기고 DB연결이 특히나 문제가 되었었는데.. 그런 문제가 말끔히 해결되었다...

Comment +0

kubernetes 업데이트시 자꾸 죽으며 error: /run/flannel/subnet.env: no such file or directory 오류날때...

 

일단... sudo apt-get upgrade kubelet kubernetes-cni docker.io 으로 업그레이드 하고

이런 오류가 나면...

 

# kubectl -n kube-system delete daemonset kube-flannel-ds

기존의 flannel을 지우고 새 버전의

# kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

불러오는 중입니다...

flannel으로 다시 시대해보길.. (그러기 전에 먼저 이미지 버전 확인하여 버전이 다른지 확인)

 

그러니 해결되었다...

 

그런데.. 연결이 끊기는건지 뭔지.. 자꾸 mysql쪽이 가끔(보단 자주...) 느려진다.

slow query문제는 아니고.. 이유는 모르겠음.. connection limit문제도 아닌뎅..

Comment +0