k3s (경량급 Kubernetes) 기반 고가 용 Rancher2. x HA 구축

글 목록
  • 인 프 라 시설 배치
  • k3s 클 러 스 터 환경 설치
  • k3s (모든 k3s 노드) 설치
  • kubectl 설치
  • helm 3 로 rancher 설치
  • helm 3 설치
  • helm chart 창 고 를 추가 하고 rancher 에 namespace
  • 를 만 듭 니 다.
  • cert - manager 설치
  • rancher 설치
  • 인 프 라 를 배치 하 다
    이 예제 에 서 는 3 대의 Liux 서버 를 이용 하여 테스트 를 진행 하 는데, 그 중 하 나 는 my sql 과 nginx (node) 를 설치 하 는 것 을 책임 지고, 다른 두 대 는 k3s 노드 (node - k3s 1 node - k3s 2) 로 한다.
  • Liux 서버 (최소 두 노드), 단독 호스트 이름
    #     
    hostnamectl set-hostname node
    #       k3s(6443/tcp 8472/udp) #centos7
      firewall-cmd --permanent --zone=public --add-port=22/tcp
      firewall-cmd --permanent --zone=public --add-port=80/tcp
      firewall-cmd --permanent --zone=public --add-port=443/tcp
      firewall-cmd --permanent --zone=public --add-port=6443/tcp
      firewall-cmd --permanent --zone=public --add-port=2379-2380/tcp
      firewall-cmd --permanent --zone=public --add-port=10250-10256/tcp
      firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
      firewall-cmd --permanent --zone=public --add-port=30000-32767/udp
      firewall-cmd --permanent --zone=public --add-port=8472/udp
      firewall-cmd --reload
    
  • 을 설정 합 니 다.
  • 외부 데이터베이스 (my sql 은 클 러 스 터 데 이 터 를 저장 하 는 데 사용)
  • 부하 이퀄 라이저 (트 래 픽 을 개 노드 로 전송)
  • ps: Docker 설치 (centos 7) docker 상용 소프트웨어 설치 nginx mysql
    k3s 클 러 스 터 환경 설치
    k3s 설치 (모든 k3s 노드)
    #    Linux    ,          K3s Server            
    curl -sfL https://get.k3s.io | sh -s - server \
      --datastore-endpoint="mysql://username:password@tcp(hostname:3306)/database-name"
    
    #          
    curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \
    --datastore-endpoint="mysql://username:password@tcp(hostname:3306)/database-name"
    
    #    ,      
    #[ERROR]  Failed to find the k3s-selinux policy, please install:
    #    yum install -y container-selinux selinux-policy-base
    #    rpm -i https://rpm.rancher.io/k3s-selinux-0.1.1-rc1.el7.noarch.rpm
    #  :/var/tmp/rpm-tmp.ObabMx:  V4 RSA/SHA1 Signature,    ID e257814a: NOKEY
    
    #test       
    sudo k3s kubectl get nodes
    

    kubectl 설치
    #  kubectl             
       curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/linux/amd64/kubectl
       #      ,      
       curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
       #      
       chmod +x ./kubectl
       #     bin   
       sudo mv ./kubectl /usr/local/bin/kubectl
       
       #test   
       kubectl get pods --all-namespaces
    

    helm 3 로 rancher 설치
    helm 3 설치
    #  helm3
    wget https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz
    tar zxvf helm-v3.1.2-linux-amd64.tar.gz
    cd linux-amd64
    cp helm /usr/local/bin/
    #test
    helm version
    
    #   kubeconfig ,  helm      helm --kubeconfig /etc/rancher/k3s/k3s.yaml
    export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
    

    helm chart 창 고 를 추가 하고 rancher 에 namespace 를 만 듭 니 다.
    #      Rancher Chart   Helm Chart   
    # latest:            。
    # stable:          。(  )
    # alpha:           。
    helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable
    
    #  Rancher    Namespace
    kubectl create namespace cattle-system
    

    cert - manager 설치
    #             `ingress.tls.source=secret`       TLS             
    
    #    CustomResourceDefinition   
    
    kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.0/cert-manager.crds.yaml
    
    #   cert-manager       
    
    kubectl create namespace cert-manager
    
    #    Jetstack Helm   
    
    helm repo add jetstack https://charts.jetstack.io
    
    #      Helm chart     
    
    helm repo update
    
    #    cert-manager Helm chart
    
    helm install \
     cert-manager jetstack/cert-manager \
     --namespace cert-manager \
     --version v0.15.0
    

    설치 rancher
    #          Rancher         ,        https://rancher2.docs.rancher.cn/docs/installation/k8s-install/helm-rancher/_index
    # hostname        DNS   (  )    stable  
    helm install rancher rancher-stable/rancher \
     --namespace cattle-system \
     --set hostname=rancher.my.org
     
    #  rancher    
    kubectl -n cattle-system rollout status deploy/rancher
    
    #deployment "rancher" successfully rolled out
    

    좋은 웹페이지 즐겨찾기