k8s配置部分参照
kubeadm安装Kubernetes 1.15(可单个节点k8s)
1、自己生成镜像或者从官方拉镜像
自己生成镜像的话参照, https://blog.youkuaiyun.com/tidehc/article/details/82881387
其中2、3、5步忽略就行。那些是Docker Compose安装用的
从官方拉最新镜像的话这一步忽略就行。
2、非安全模式安装Helm&Tiller:
需要安装Helm,Helm之于Kubernetes,好比yum于CentOS,便捷的包管理工具。
参考 https://docs.helm.sh/using_helm/#installing-helm
Helm使用指南参见https://docs.helm.sh/using_helm/#using_helm
(1)、安装Helm并创建ServiceAccount:
采用二进制包方式安装(snap方式据说大陆地区非常慢),参考https://github.com/helm/helm/releases
cd /tmp
wget https://get.helm.sh/helm-v2.14.2-linux-amd64.tar.gz
tar -zxvf helm-v2.14.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm version
这里应该会提示一个Error: could not find tiller。
注意,默认情况下只需要执行 helm init 就可以完成tiller部署,而且看上去很正常,但是无法执行 helm install 。因为helm需要访问k8s的API,而我们的集群启用了RBAC,要让helm正常工作,我们需要为其配置好相关权限。
vim helm-rbac.yaml
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: helm
name: helm-admin
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: helm-admin
labels:
k8s-app: helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: helm-admin
namespace: kube-system
-----------------------------------------------------------------------------
kubectl create -f helm-rbac.yaml
kubectl get sa --all-namespaces | grep helm
(2)安装Tiller
一般在镜像下载方面容易出问题:参考https://blog.youkuaiyun.com/weiguang1017/article/details/78045013
helm init在缺省配置下, Helm 会利用 “gcr.io/kubernetes-helm/tiller” 镜像在Kubernetes集群上安装配置 Tiller;并且利用 “https://kubernetes-charts.storage.googleapis.com” 作为缺省的 stable repository 的地址。由于在国内可能无法访问 “gcr.io”, “storage.googleapis.com” 等域名,阿里云容器服务为此提供了镜像站点。
使用下列命令安装:
helm init --upgrade --service-account helm-admin --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.2 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm init --service-account helm-admin
【默认的初始化执行方式】
然后helm version可以同时看到helm 和 tiller的版本号;
如果不是第一次则执行:
helm init --upgrade --service-account helm-admin
上述执行时候的版本如果过旧,可以考虑执行更新;
首先查找新的镜像版本,放到私有仓库里去,
docker pull sapcc/tiller:v2.14.2
docker tag sapcc/tiller:v2.14.2 192.168.1.10:5000/sapcc/tiller:v2.14.2
docker push 192.168.1.10:5000/sapcc/tiller:v2.14.2
执行升级:
helm init --upgrade --service-account helm-admin --tiller-image 192.168.1.10:5000/sapcc/tiller:v2.14.2
(3)、安装后测试:
kubectl get svc --all-namespaces
helm version 应当能看见helm和tiller的版本号;
helm
helm search
如需清除Tiller等:
删除Tiller:
helm reset 或 $helm reset -f(强制删除k8s集群上的pod.)
当要移除helm init创建的目录等数据时,执行
helm reset --remove-helm-home
注:安全模式配置Helm【参考,并未做】:
https://docs.helm.sh/using_helm/#securing-your-helm-installation
https://docs.helm.sh/using_helm/#role-based-access-control

最低0.47元/天 解锁文章
3368

被折叠的 条评论
为什么被折叠?



