오리지널:kubernetes(k8s) 오프라인 설치 helm와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 서버를 설치하기 때문에 이 이미지를 사용합니다.
설치tiller
helm 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
다시 설치하면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.