1.安装过程

下载addons的代码

$ git clone https://github.com/jorgemoralespou/minishift-addons
$ cd minishift-addons

因为helm的tiller要求访问gcr的地址,必然被墙,因此把地址替换成ericnie2017/tiller:latest 后建立

ericdeMacBook-Pro:helm ericnie$ cat helm.addon
# Name: helm
# Description: Installs helm # Pull the image
echo "pull start"
docker pull lachlanevenson/k8s-helm:v2.8.1 echo "deploy start"
# Deploy helm
docker run --rm -v /home/docker:/root:z -v /var/lib/minishift/openshift.local.config:/var/lib/minishift/openshift.local.config:z --net=host --env KUBECONFIG=/var/lib/minishift/openshift.local.config/master/admin.kubeconfig --env HELM_HOST=localhost: lachlanevenson/k8s-helm:v2.8.1 init --upgrade -i ericnie2017/tiller:latest --skip-refresh echo "deploy finish" # Create serviceaccounts and add the permissions to it. Then make the deployment use it
oc create serviceaccount helm -n kube-system
oc patch deployment/tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccountName":"helm"}}}}' -n kube-system
oc adm policy add-cluster-role-to-user cluster-admin -z helm -n kube-system # Expose helm as nodePort
oc expose deployment/tiller-deploy --target-port=tiller --type=NodePort --name=tiller -n kube-system
ericdeMacBook-Pro:add-ons ericnie$ minishift addons install helm
Addon 'helm' installed
ericdeMacBook-Pro:add-ons ericnie$ minishift addons apply helm
-- Applying addon 'helm':
"pull start".
"deploy start".
"deploy finish"....
Add into your ~/.bashrc this lines: eval "$(minishift oc-env)"
export HELM_HOST="$(minishift ip):$(oc get svc/tiller -o jsonpath='{.spec.ports[0].nodePort}' -n kube-system --as=system:admin)"
export MINISHIFT_ADMIN_CONTEXT="default/$(oc config view -o jsonpath='{.contexts[?(@.name=="minishift")].context.cluster}')/system:admin" Initialize the helm client, if not done already e.g.
helm init -c Search for an application: e.g.
helm search And now deploy an application e.g.
helm version To delete helm tiller
oc delete sa/helm deployment/tiller-deploy svc/tiller -n kube-system --as=system:admin

以admin:admin登录后看到tiller部署成功

2.客户端安装

设置环境变量

ericdeMacBook-Pro:~ ericnie$ export HELM_HOST="$(minishift ip):$(oc get svc/tiller -o jsonpath='{.spec.ports[0].nodePort}' -n kube-system --as=system:admin)"
ericdeMacBook-Pro:~ ericnie$ export MINISHIFT_ADMIN_CONTEXT="default/$(oc config view -o jsonpath='{.contexts[?(@.name=="minishift")].context.cluster}')/system:admin"
ericdeMacBook-Pro:~ ericnie$ echo $HELM_HOST
192.168.99.100:
ericdeMacBook-Pro:~ ericnie$ echo $MINISHIFT_ADMIN_CONTEXT
default/---:/system:admin

下载helm客户端

去到网址,找到对应版本下载

https://github.com/helm/helm/releases?after=v2.8.0

注意需要翻墙 :(

https://storage.googleapis.com/kubernetes-helm/helm-v2.8.1-darwin-amd64.tar.gz

下载然后解压,加入.bash_profile

ericdeMacBook-Pro:~ ericnie$ cat .bash_profile
export CLICOLOR=
#export PATH=/Users/ericnie/minishift/minishift-1.24.-darwin-amd64:/Users/ericnie/minishift:$PATH
#export PATH="/Users/ericnie/.minishift/cache/oc/v3.10.0/darwin:$PATH" export PATH=/Users/ericnie/bin:$PATH
export PATH="/Users/ericnie/.minishift/cache/oc/v3.9.31/darwin:/Users/ericnie/minishift/helm/darwin-amd64:$PATH" export MINISHIFT_USERNAME=eric.nie@.com
export MINISHIFT_PASSWORD=Welcome1$
ericdeMacBook-Pro:~ ericnie$ helm version
Client: &version.Version{SemVer:"v2.8.1", GitCommit:"6af75a8fd72e2aa18a2b278cfe5c7a1c5feca7f2", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.8.1", GitCommit:"6af75a8fd72e2aa18a2b278cfe5c7a1c5feca7f2", GitTreeState:"clean"}

能连上server,会显示server的版本

3.验证

helm create hello-svc

然后把deployment.yaml, service.yaml和values.yaml修改掉

ericdeMacBook-Pro:hello-svc ericnie$ cat templates/deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{.Values.deployment_name}}
spec:
replicas: {{.Values.replicas}}
template:
metadata:
labels:
tomcat-app: {{.Values.deployment_name}}
version: ""
spec:
containers:
- name: {{.Values.deployment_name}}
image: 172.30.1.1:/s2i-tomcat/openshift-tomcat:{{.Values.imageversion}}
ports:
- containerPort: {{.Values.port}}
name: tomcatport
ericdeMacBook-Pro:hello-svc ericnie$ cat templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: {{.Values.service_name}}
labels:
tomcat-app: hellotomcat
spec:
ports:
- port: {{.Values.port}}
protocol: TCP
targetPort:
name: http
type: NodePort
selector:
tomcat-app: hellotomcat
ericdeMacBook-Pro:hello-svc ericnie$ cat values.yaml
replicas:
deployment_name: hellotomcat
service_name: hellotomcat
port:
imageversion: latest

然后安装

ericdeMacBook-Pro:hello-svc ericnie$ helm install ./ --namespace s2i-tomcat
NAME: austere-mastiff
LAST DEPLOYED: Sat Oct ::
NAMESPACE: s2i-tomcat
STATUS: DEPLOYED RESOURCES:
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hellotomcat NodePort 172.30.214.212 <none> :/TCP 1s ==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
hellotomcat 0s

4.遇到的问题

minishift ip无法出来

ricdeMacBook-Pro:helm ericnie$ minishift ip
Error getting IP: ssh command error:
command : ip addr show
err : exit status
output :

之前遇到过几次,每次状况不一样,这次重新启动以后就可以了。

OpenShift helm的安装的更多相关文章

  1. Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装

    首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker  sudo ...

  2. openshift 3.11安装部署

    openshift 3.11 安装部署 openshift安装部署 1 环境准备(所有节点) openshift 版本 v3.11 1.1 机器环境 ip cpu mem hostname OSsys ...

  3. openshift 3.11 安装部署

    openshift 3.11 安装部署 openshift安装部署 1 环境准备(所有节点) openshift 版本 v3.11 1.1 机器环境 ip cpu mem hostname OSsys ...

  4. 如何使用helm优雅安装prometheus-operator,并监控k8s集群微服务

    前言:随着云原生概念盛行,对于容器.服务.节点以及集群的监控变得越来越重要.Prometheus 作为 Kubernetes 监控的事实标准,有着强大的功能和良好的生态.但是它不支持分布式,不支持数据 ...

  5. prometheus-operator 详细总结(helm一键安装)

    一.介绍prometheus-operator 二.查看配置rbac授权 三.helm安装prometheus-operator 四.配置监控k8s组件 五.granafa添加新数据源 六.监控mys ...

  6. helm一键 安装mariadb-ha(详细)

    一. 二.单机安装一主一从 先创建对应pv https://github.com/helm/charts/blob/master/stable/mariadb/templates/master-sta ...

  7. Harbor 使用 Helm 一键安装

    安装 Harbor Harbor 支持多种安装方式,源码目录下面默认有一个安装脚本(make/install.sh),采用 docker-compose 的形式运行 Harbor 各个组件,和前面的课 ...

  8. helm的安装于与简单使用

    根据 csdn 博客整理学习 原始博客地址: https://blog.csdn.net/weiguang1017/article/details/78045013 1. 下载所需要的文件: 客户端文 ...

  9. Openshift 3.6 安装

    因为有客户需求,所以必须尝试一下,可悲的是手里只有3.7的离线安装文档,加上之前3.11安装因为同事文档写得太好,基本没遇到什么坑,所以就没仔细研究就开始搞了. 结果果然是因为/etc/ansible ...

随机推荐

  1. 用指定jdk执行jar包

    在运行jar包前执行以下命令,作用是在当前命令行窗口作用域内修改环境变量: export JAVA_HOME=/root/jiabao.gao/Hbase2Redis-1.0.0-SNAPSHOT/j ...

  2. .vue,跟小程序文件在sublime里面怎么实现代码格式化

    .vue文件跟小程序的.wxml,.wxss用sublime的HTML/CSS/JS prettify插件也可以实现格式化代码的效果 首先你在sublime要已经安装好了HTML/CSS/JS pre ...

  3. 封装ajax方法

    function ajaxRequest(type, url, data, callback, loading, cache) { var ajaxConfig = { url: '', data: ...

  4. textarea在浏览器中固定大小

    HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...

  5. 《深入浅出MyBatis技术原理与实战》——1.简介,2.入门

    1. 简介 Java程序都是通过JDBC连接数据库,但是只定义了接口规范,具体的实现交给各个数据库厂商去实现,因为每个数据库都有其特殊性.所以JDBC是一种桥接模式. 这里为什么说JDBC是一种桥接模 ...

  6. AC日记——[HNOI2008]玩具装箱toy bzoj 1010

    1010 思路: 斜率优化DP: 跪烂大佬 代码: #include <bits/stdc++.h> using namespace std; #define maxn 50005 #de ...

  7. 微软企业库5.0 学习之路——第六步、使用Validation模块进行服务器端数据验证

    前端时间花了1个多星期的时间写了使用jQuery.Validate进行客户端验证,但是那仅仅是客户端的验证,在开发项目的过程中,客户端的信息永远是不可信的,所以我们还需要在服务器端进行服务器端的验证已 ...

  8. nginx静态资源浏览器缓存

    1.缓存介绍 作用:提升用户体验,减少服务器压力 浏览器无缓存:浏览器发起请求->无缓存->请求WEB服务器->web服务器检查是否有更新(没有更新返回304)->呈现 浏览器 ...

  9. react native 增加react-native-storage

    现时需要使用react-native-storage本地存储 第一步:配置storage主文件 mystorage.js import { AsyncStorage } from 'react-nat ...

  10. 从Windows复制文件到Linux显示乱码问题

    (1).文件名乱码 这并不是所有人都会碰到的问题,一般常见于使用putty的用户.使用convmv命令可以解决这个问题. 我写详细一点还原真实场景,首先我来上传一个测试文件“a此文件在windows下 ...