오리지널:kubernetes(k8s) 오프라인 설치 helm와tiller

4124 단어
대강: 1. 왜 설치해야 하는지, 2. helm의 설치, 셋째,tiller의 설치, 넷째, 설치가 정확한지 검사, 다섯째,tiller 삭제
설치할 이유
1. helm의 역할:centos7의yum명령처럼 관리 패키지는 helm에서 관리하는 것은 k8s에 설치된 각종 용기일 뿐이다.2,tiller의 역할:centos7의 소프트웨어 창고처럼 간단하게 말하면/etc/yum과 유사하다.repos.d 디렉토리의 xxx.repo.
2. helm의 설치
helm의 설치는 매우 간단합니다. 먼저github에서 helm의 2진법 설치 패키지를 다운로드한 다음에 2진법 파일을 관련 디렉터리로 직접 이동하면 됩니다.URL 다운로드:https://github.com/helm/helm/releases
[root@cma-cluster-slave5 k8s]# tar -zxvf helm-v2.11.0-linux-amd64.tar.gz
[root@cma-cluster-slave5 k8s]# cd linux-amd64/
[root@cma-cluster-slave5 linux-amd64]# mv helm /usr/bin/

테스트:
[root@cma-cluster-slave5 linux-amd64]# helm

큰 힌트가 나오는 걸 봤는데 설치가 성공했어요.
3. tiller의 설치
Tiller에는 로컬 설치나 Kubernetes 클러스터에 pod 형태로 배치하는 등 다양한 설치 방식이 있습니다.본고는pod 설치를 예로 들면 Tiller를 설치하는 가장 간단한 방법은 helm init이다. 이 명령은 helm 로컬 환경 설정이 정확한지 확인하고 helm init는kubectl에서 기본적으로 연결된 kubernetes 그룹을 연결한다(kubectl config view를 통해 볼 수 있다). 그룹에 연결되면 tiller는kube-system namespace에 설치된다.
서버 tiller를 설치하기 위해서, 이 기계에kubectl 도구와kubeconfig 파일을 설정해야 합니다.kubectl 도구가apiserver에 접근하여 정상적으로 사용할 수 있도록 해야 합니다.여기 node1 노드와kubectl이 설정되어 있습니다.
Kubernetes APIServer가 RBAC 액세스 제어를 켰기 때문에,tiller가 사용하는 서비스 account:tiller를 만들고 적절한 역할을 할당해야 합니다.자세한 내용은 helm 문서의 Role-based Access Control을 볼 수 있습니다.간단하게 cluster-admin이라는 그룹에 내장된 Cluster Role을 직접 분배합니다.
rbac-config를 만듭니다.yaml 파일:
[root@cma-cluster-slave5 linux-amd64]# vim rbac-config.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

rbac 서비스 만들기
[root@cma-cluster-slave5 linux-amd64]# kubectl create -f rbac-config.yaml
serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created

1. 블로거가 알 수 없는 설치 방식
[root@cma-cluster-slave5 linux-amd64]# pwd
/opt/k8s/linux-amd64
[root@cma-cluster-slave5 linux-amd64]# ls
helm  LICENSE  README.md  tiller

이 디렉터리에 있는tiller 2진법은 로컬에 설치된 파일로, 우둔해서 어떻게 사용하는지 알 수 없습니다.
2. 블로거가 사용하는 설치 방식
docker로 이 렌즈를 직접 꺼내서 dockerfile 파일을 보면 구글 렌즈 라이브러리에서 직접 가져온 것임을 알 수 있습니다. 열정적인 네티즌 감사합니다.
[root@cma-cluster-slave5 linux-amd64]# docker pull fishead/gcr.io.kubernetes-helm.tiller:v2.11.0

helm init를 초기화할 때 k8s 그룹에 tiller 서버를 설치하기 때문에 이 이미지를 사용합니다.
설치tillerhelm init --upgrade --service-account tiller --tiller-image fishead/gcr.io.kubernetes-helm.tiller:v2.11.0 --stable-repo-url http://10.16.48.44/비고: 위 명령의 --stable-repo-urlhttp://10.16.48.44/이것은 아파치 http로 만든 것입니다. 여기 아래에 파일 index가 있습니다.yaml 파일, 여기서 다운로드 가능https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts/index.yaml브라우저에 입력http://10.16.48.44/index.yaml, 방금 다운로드한 페이지 표시(사칭, 헤헤)
4. 설치가 정확한지 확인
tiller가 설치되었는지 확인
[root@cma-cluster-slave5 home]# kubectl get pod -n kube-system|grep tiller
tiller-deploy-7d574cfdcc-px2wh          1/1       Running   0          1d

tiller의 리포 창고 보기
[root@cma-cluster-slave5 home]# helm repo list
NAME    URL                         
stable  http://10.16.48.44/         
local   http://127.0.0.1:8879/charts

클라이언트와 서버가 일치하는지 확인하기
[root@cma-cluster-slave5 home]# helm version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}

위의 GitCommit 두 값이 같으면 버전이 일치합니다. (블로거가 추측한 바에 의하면 버전이 일치하지 않는 오류를 보았기 때문에 여기에서 오류의 재현을 하지 않습니다)
5.tiller 삭제
설치 후 삭제가 필요하거나 설치가 실패할 수 있습니다
[root@cma-cluster-slave5 home]# helm reset -f
[root@cma-cluster-slave5 home]# rm -rf /root/.helm

다시 설치하면 됩니다.

좋은 웹페이지 즐겨찾기