VMware Tanzu社区版

VMware Tanzu Community Edition 是一个功能齐全、易于管理的 Kubernetes 平台,供学习者和用户使用。 它是一个免费的、社区支持的、开源的 VMware Tanzu 发行版,可以在几分钟内在您的本地工作站或您喜欢的云上安装和配置。

Linux Local Bootstrap Machine Prerequisites

1、检查cgroup

linux-mint-002@linux-mint-002:~/tanzu$ sudo docker info | grep -i cgroup
Cgroup Driver: cgroupfs
Cgroup Version: 1

如果 cgroups v2,需要设置 system.unified_cgroup_hierarchy=0

2、下载tanzu CLI

linux-mint-002@linux-mint-002:~/tanzu$ wget http://192.168.100.18:1234/tce-linux-amd64-v0.9.1.tar.gz
linux-mint-002@linux-mint-002:~/tanzu$ tar -zxf tce-linux-amd64-v0.9.1.tar.gz
linux-mint-002@linux-mint-002:~/tanzu$ ls
tce-linux-amd64-v0.9.1 tce-linux-amd64-v0.9.1.tar.gz
linux-mint-002@linux-mint-002:~/tanzu$ cd tce-linux-amd64-v0.9.1/
linux-mint-002@linux-mint-002:~/tanzu/tce-linux-amd64-v0.9.1$ ls
bin install.sh uninstall.sh

3、运行install.sh安装

linux-mint-002@linux-mint-002:~/tanzu/tce-linux-amd64-v0.9.1$ ./install.sh
+ ALLOW_INSTALL_AS_ROOT=
+ [[ 1000 -eq 0 ]]
+++ dirname ./install.sh
++ cd .
++ pwd
+ MY_DIR=/home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1
++ uname
+ BUILD_OS=Linux
+ case "${BUILD_OS}" in
+ XDG_DATA_HOME=/home/linux-mint-002/.local/share
+ echo /home/linux-mint-002/.local/share
/home/linux-mint-002/.local/share
++ command -v tanzu
+ TANZU_BIN_PATH=
+ [[ -n '' ]]
+ TANZU_BIN_PATH=/usr/local/bin
+ [[ :/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: == *\:\/\h\o\m\e\/\l\i\n\u\x\-\m\i\n\t\-\0\0\2\/\b\i\n\:* ]]
+ echo Installing tanzu cli to /usr/local/bin
Installing tanzu cli to /usr/local/bin
+ sudo install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu /usr/local/bin
+ mkdir -p /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-builder /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-cluster /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-conformance /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-diagnostics /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-kubernetes-release /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-login /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-management-cluster /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-package /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-pinniped-auth /home/linux-mint-002/.local/share/tanzu-cli
+ for plugin in "${MY_DIR}"/bin/tanzu-plugin*
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/bin/tanzu-plugin-standalone-cluster /home/linux-mint-002/.local/share/tanzu-cli
+ mkdir -p /home/linux-mint-002/.local/share/tce
+ install /home/linux-mint-002/tanzu/tce-linux-amd64-v0.9.1/uninstall.sh /home/linux-mint-002/.local/share/tce
+ TANZU_PLUGIN_CACHE=/home/linux-mint-002/.cache/tanzu/catalog.yaml
+ [[ -n /home/linux-mint-002/.cache/tanzu/catalog.yaml ]]
+ echo 'Removing old plugin cache from /home/linux-mint-002/.cache/tanzu/catalog.yaml'
Removing old plugin cache from /home/linux-mint-002/.cache/tanzu/catalog.yaml
+ rm -f /home/linux-mint-002/.cache/tanzu/catalog.yaml
+ tanzu init
| initializing successfully initialized CLI
++ tanzu plugin repo list
++ grep tce
+ TCE_REPO=
+ [[ -z '' ]]
+ tanzu plugin repo add --name tce --gcp-bucket-name tce-tanzu-cli-plugins --gcp-root-path artifacts
++ tanzu plugin repo list
++ grep core-admin
+ TCE_REPO=
+ [[ -z '' ]]
+ tanzu plugin repo add --name core-admin --gcp-bucket-name tce-tanzu-cli-framework-admin --gcp-root-path artifacts-admin
+ echo 'Installation complete!'
Installation complete!

4、下载kubectl

curl -LO https://dl.k8s.io/release/v1.22.0/bin/linux/amd64/kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

5、创建集群

需要你的资源满足如下要求

6 GB of RAM
15 GB of local machine disk storage for images
4 CPUs

Local Docker Bootstrapping

1、初始化Tanzu 安装接口

linux-mint-002@linux-mint-002:~/tanzu/tce-linux-amd64-v0.9.1$ tanzu management-cluster create --ui -b 192.168.100.66:8080

Validating the pre-requisites...
Serving kickstart UI at http://192.168.100.66:8080
unable to open browser: exit status 3

2、现在可以打开链接,通过浏览器安装配置集群了

3、首先我们部署一个管理集群到docker环境









4、最后点击部署,即可开始创建一个管理集群,也可以用最底下的命令行执行





5、等待部署完成,验证管理集群是否正常

linux-mint-002@linux-mint-002:~/tanzu$   tanzu management-cluster get
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES
tanzu tkg-system running 1/1 1/1 v1.21.2+vmware.1 management Details: NAME READY SEVERITY REASON SINCE MESSAGE
/tanzu True 6d23h
├─ClusterInfrastructure - DockerCluster/tanzu True 6d23h
├─ControlPlane - KubeadmControlPlane/tanzu-control-plane True 6d23h
│ └─Machine/tanzu-control-plane-v9jxw True 6d23h
└─Workers
└─MachineDeployment/tanzu-md-0
└─Machine/tanzu-md-0-567d7cf787-wkphp True 6d23h Providers: NAMESPACE NAME TYPE PROVIDERNAME VERSION WATCHNAMESPACE
capd-system infrastructure-docker InfrastructureProvider docker v0.3.23
capi-kubeadm-bootstrap-system bootstrap-kubeadm BootstrapProvider kubeadm v0.3.23
capi-kubeadm-control-plane-system control-plane-kubeadm ControlPlaneProvider kubeadm v0.3.23
capi-system cluster-api CoreProvider cluster-api v0.3.23

6、获取管理集群的kubeconfig

linux-mint-002@linux-mint-002:~/tanzu$ tanzu management-cluster kubeconfig get tanzu --admin

然后就可以执行kubectl操作管理集群了

linux-mint-002@linux-mint-002:~/tanzu$  kubectl  get no
NAME STATUS ROLES AGE VERSION
tanzu-control-plane-v9jxw Ready control-plane,master 6d23h v1.21.2+vmware.1-360497810732255795
tanzu-md-0-567d7cf787-wkphp Ready <none> 6d23h v1.21.2+vmware.1-360497810732255795

7、创建工作负载集群

linux-mint-002@linux-mint-002:~/tanzu$  tanzu  cluster create tkg-workload --plan dev
linux-mint-002@linux-mint-002:~/tanzu$ tanzu cluster list
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLAN
tkg-workload default running 1/1 1/1 v1.21.2+vmware.1 <none> dev

8、获取工作集群的kubeconfig,并查看集群信心

linux-mint-002@linux-mint-002:~/tanzu$ tanzu  cluster  kubeconfig get tkg-workload --admin
linux-mint-002@linux-mint-002:~/tanzu$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* tanzu-admin@tanzu tanzu tanzu-admin
tkg-workload-admin@tkg-workload tkg-workload tkg-workload-admin 切换kubecontext
linux-mint-002@linux-mint-002:~/tanzu$ kubectl config use-context tkg-workload-admin@tkg-workload
Switched to context "tkg-workload-admin@tkg-workload". linux-mint-002@linux-mint-002:~/tanzu$ kubectl get no
NAME STATUS ROLES AGE VERSION
tkg-workload-control-plane-nbddz Ready control-plane,master 6d2h v1.21.2+vmware.1-360497810732255795
tkg-workload-md-0-c7bc5dc9f-zwjfg Ready <none> 6d2h v1.21.2+vmware.1-360497810732255795 linux-mint-002@linux-mint-002:~/tanzu$ kubectl get po --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system antrea-agent-xwrk6 2/2 Running 1 6d2h
kube-system antrea-agent-zl6gq 2/2 Running 0 6d2h
kube-system antrea-controller-89547f7f5-tgn7z 1/1 Running 0 6d2h
kube-system coredns-8dcb5c56b-lbcqw 1/1 Running 0 6d2h
kube-system coredns-8dcb5c56b-wvzjw 1/1 Running 0 6d2h
kube-system etcd-tkg-workload-control-plane-nbddz 1/1 Running 0 6d2h
kube-system kube-apiserver-tkg-workload-control-plane-nbddz 1/1 Running 0 6d2h
kube-system kube-controller-manager-tkg-workload-control-plane-nbddz 1/1 Running 0 6d2h
kube-system kube-proxy-226wj 1/1 Running 0 6d2h
kube-system kube-proxy-hwq2q 1/1 Running 0 6d2h
kube-system kube-scheduler-tkg-workload-control-plane-nbddz 1/1 Running 0 6d2h
kube-system metrics-server-b9698ff4-rhrw5 1/1 Running 0 6d2h
projectcontour contour-c48db6f9f-dmcfb 1/1 Running 0 6d2h
projectcontour contour-c48db6f9f-zwszk 1/1 Running 0 6d2h
projectcontour contour-certgen-v1.18.1-zfcwr 0/1 Completed 0 6d2h
projectcontour envoy-n6pld 2/2 Running 0 6d2h
tkg-system kapp-controller-74bcf9f866-9f6th 1/1 Running 0 6d2h
tkg-system tanzu-capabilities-controller-manager-6ff97656b8-bbhs6 1/1 Running 0 6d2h

以上,为tanzu社区版的安装,更多信息参见官方文档

VMware Tanzu社区版初体验的更多相关文章

  1. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  2. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

  3. Serverless 初体验:快速开发与部署一个Hello World(Java版)

    昨天被阿里云的这个酷炫大屏吸引了! 我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90.95后在玩?就深入看了一下. 这是一个关于Serverless的体验活动,Serverless在国内一直都 ...

  4. Flume日志采集系统——初体验(Logstash对比版)

    这两天看了一下Flume的开发文档,并且体验了下Flume的使用. 本文就从如下的几个方面讲述下我的使用心得: 初体验--与Logstash的对比 安装部署 启动教程 参数与实例分析 Flume初体验 ...

  5. 云计算第一章:服务器硬件及linux初体验

    第一章:服务器硬件及linux初体验 一.了解linux: 1.linux的三大分支:debian.redhat.ubuntu 2.redhat版本: redhat:红帽,简称RHEL,企业级官方版本 ...

  6. dubbo实战之一:准备和初体验

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  8. Microsoft IoT Starter Kit 开发初体验

    1. 引子 今年6月底,在上海举办的中国国际物联网大会上,微软中国面向中国物联网社区推出了Microsoft IoT Starter Kit ,并且免费开放1000套的申请.申请地址为:http:// ...

  9. node.js 初体验

    node.js 初体验 2011-10-31 22:56 by 聂微东, 174545 阅读, 118 评论, 收藏, 编辑 PS: ~ 此篇文章的进阶内容在为<Nodejs初阶之express ...

随机推荐

  1. Java基础(一)——面向对象

    一.对象 1.成员变量和局部变量的区别 两类变量同名时,局部变量具有更高的优先级. 作用域不同:局部变量的作用域仅限于定义它的方法,作用于函数或者语句中:成员变量的作用域在整个类中. 初始值不同:Ja ...

  2. MySQL——MySQL用户管理

    1.MySQL用户定义:用户名+主机域/ip/.. 2.用户作用: 1.登录 2.管理数据库及数据 3.权限: 读和写操作 4.角色: 数据库定义好的一组权限的定义 5.权限范围: 全库:*.* 单库 ...

  3. Defence

      emm...这道题我调了一下午你敢信??   好吧还是我太天真了.   开始的时候以为自己线段树动态开点与合并写错了,就调;   结果发现没问题,那就是信息维护错了.   一开始以为自己最左右的1 ...

  4. 口护万亿市场杀出的实力派 Oclean欧可林

    撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 在"青年必去的电影节"上,发现了一个跟他们打成一片的智能护齿"新星". 25日,备受关注的第15届FIRST青年电 ...

  5. 以人为本打造“超职季”IP,58同城精准匹配企业招聘与打工人

    撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 在大手笔培育IP的背后,58同城是如何考量的? 在餐厅当服务员的李阿姨今年54岁了.她的女儿马上研究生毕业,非常喜欢陈伟霆,手机屏保都是他.李阿姨没想到, ...

  6. 跨域分布式系统单点登录的实现(CAS单点登录)

    1. 概述 上一次我们聊了一下<使用Redis实现分布式会话>,原理就是使用 客户端Cookie + Redis 的方式来验证用户是否登录. 如果分布式系统中,只是对Tomcat做了负载均 ...

  7. 3.8学习总结——Android保存信息

    为了保存软件的设置参数,Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类,特别适合用于保存软件配置参数.使用SharedPreferences保存数据, ...

  8. linux设置防火墙规则-指定ip的访问权限

    vim /etc/sysconfig/iptables 可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统重启iptables时自动执行 1.查看 iptab ...

  9. http升级https遇到的问题

    1. 功能请求失效: 可能是链接为http请求,导致出现问题 2.浏览器网址左边出现黄色感叹号: 这是由于网页中存在http的图片链接,需要根据实际情况修改; 3.将网页内的http请求变为https ...

  10. 微信公众号jssdk分享接口onMenuShareAppMessage自定义的参数无效,微信分享失败原因

    使用jssdk为jweixin-1.4.0.js updateTimelineShareData,安全域名接口也设置正确,可就是分享,转发朋友圈不成功. 解决方案:采用<script src=& ...