Kubernetes-环境篇-01-mac开发环境搭建

1、brew安装

参考知乎文章:https://zhuanlan.zhihu.com/p/111014448

苹果电脑 常规安装脚本(推荐 完全体 几分钟安装完成)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

苹果电脑 极速安装脚本(精简版 几秒钟安装完成)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

苹果电脑 卸载脚本

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

常见错误:https://gitee.com/cunkai/HomebrewCN/blob/master/error.md

2、安装go

官网下载并安装即可:
https://studygolang.com/dl
https://golang.google.cn/dl/
https://golang.org/dl/
https://go.dev/doc/install

如果想命令行安装,也可:

version="1.22.0"
curl "https://dl.google.com/go/go$version.darwin-$(arch).pkg" -o go.pkg
sudo installer -pkg go.pkg -target $HOME
# 验证go是否安装成功
go version

3、安装docker

mac白屏安装:https://docs.docker.com/desktop/install/mac-install/

4、安装kubectl & helm

# 安装 kubectl
brew install kubectl
# 安装 helm
brew install helm

5、安装kubebuilder

github仓库:地址

kubebuilder的官方文档:

  • 英文版
  • 中文版
  • 需要注意:英文版目前最新的是v4版本的,中文版还停留在v2版本

推荐书籍:

  • 《Kubenetes Operator 开发进阶》胡涛

安装方法:

  • 官方文档方法:
    • 安装最新发行版本:
# download kubebuilder and install locally.
curl -L -o kubebuilder "https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH)"
chmod +x kubebuilder && mv kubebuilder /usr/local/bin/
  • 安装github代码仓库中,master分支:
curl -L -o kubebuilder "https://go.kubebuilder.io/dl/master/$(go env GOOS)/$(go env GOARCH)"
chmod +x kubebuilder && mv kubebuilder /usr/local/bin/
  • 可能遇到的问题:curl下载失败,比如报错:curl: (35) Encountered end of file。此时推荐使用安装方法二
  • 直接下载kubenetes的可执行文件
    • 先到 github 上找到你需要的发行版本:https://github.com/kubernetes-sigs/kubebuilder/releases
    • 比如我要安装4.2.0,则点击进去:https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v4.2.0
    • 在页面最下面的Assets中,找到所需OS和Arch的安装包,点击即可下载。比如我是linux的arm,就下载这个
# 查看os
go env GOOS
# 查看架构
go env GOARCH

在这里插入图片描述

  • 如果网络ok,也可以直接wget进行下载
#!/bin/bash
version="v4.2.0"
#wget https://github.com/kubernetes-sigs/kubebuilder/releases/download/v4.2.0/kubebuilder_darwin_arm64
wget "https://github.com/kubernetes-sigs/kubebuilder/releases/download/$version/kubebuilder_$(go env GOOS)_$(go env GOARCH)" -O kubebuilder
  • 进行安装
mv /Users/king/Downloads/kubebuilder_darwin_arm64 ./kubebuilder
chmod +x kubebuilder && sudo mv kubebuilder /usr/local/bin/
  • 异常问题
    在这里插入图片描述
sudo spctl --master-disable
  • 验证安装
$ kubebuilder version                                                                                                                   [10:07:10]
Version: main.version{KubeBuilderVersion:"4.2.0", KubernetesVendor:"1.31.0", GitCommit:"c7cde5172dc8271267dbf2899e65ef6f9d30f91e", BuildDate:"2024-08-17T09:41:45Z", GoOs:"darwin", GoArch:"arm64"}

6、集群验证工具

官方github仓库地址:https://github.com/kubernetes-sigs/kind.git
国内镜像仓库地址:https://gitcode.com/gh_mirrors/ki/kind/overview

目前最新的tag版本是v0.24.0

# 查看os
go env GOOS
# 查看架构
go env GOARCH

安装kind

brew install kind

验证kind版本

$ kind --version                                                                                                                     [13:22:24]
kind version 0.24.0

7、开发工具

  • 必须开启go mod,GO111MODULE=on
  • 代理地址推荐:
    • 七牛云:https://goproxy.cn 推荐,可解决依赖问题
    • 阿里云:https://mirrors.aliyun.com/goproxy/ 不推荐,某些包依然无法下载
    • 腾讯:https://goproxy.io,不推荐,有些包无法下载
  • 开发工具推荐:
    • goland:推荐,但是收费
    • idea:可以装go插件,但是可能没有goland适配的好
    • vscode:比较轻量级,但是开发不太方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1554821.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Android】中级控件

其他布局 相对布局RelativeLayout RelativeLayout下级视图的位置是相对位置,得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物,那么下级视图默认显示在RelativeLayout内部的左上角。用于确定视图位置的参照物分两种,一种是与…

自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

JavaScript-上篇

JS 入门 JS概述 JavaScript(简称JS)是一种高层次、解释型的编程语言,最初由布兰登艾奇(Brendan Eich)于1995年创建,并首次出现在网景浏览器中。JS的设计初衷是为Web页面提供动态交互功能&#xff…

Leetcode - 140双周赛

目录 一,3300. 替换为数位和以后的最小元素 二,3301. 高度互不相同的最大塔高和 三,3302. 字典序最小的合法序列 四,3303. 第一个几乎相等子字符串的下标 一,3300. 替换为数位和以后的最小元素 本题直接暴力求解&a…

【hot100-java】【将有序数组转换为二叉搜索树】

二叉树篇 BST树 递归直接实现。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNo…

wpf实现新用户页面引导

第一步 第二部 部分代码: private void show(int xh, FrameworkElement fe, string con, Visibility vis Visibility.Visible) {Point point fe.TransformToAncestor(Window.GetWindow(fe)).Transform(new Point(0, 0));//获取控件坐标点RectangleGeometry rg new Rectangl…

Deathnote解题过程

主机扫描,发现192.168.1.194 arp-scan -l 端口扫描,发现80和22端口 nmap -sS 192.168.1.194 访问80端口发现自动跳转到http://deathnote.vuln/wordpress添加绑定地址就可以访问了 vim /etc/hosts 192.168.1.194 deathnote.vuln 访问发现并没有什么东西…

无人值守安装文件

一般配合BypassUAC 原理 一些 windows 无人值守安装文件中含有用户的明文或 base64 编码后的密文。 无人值守安装文件中的密码不一定是管理员密码,它也可能是普通用户的密码或者服务账户的密码。 不过,在无人值守文件(如 sysprep.xml 或 …

11.数据结构与算法-线性表的案例分析与实现

案例2.1-一元多项式的运算 案例2.2-稀疏多项式的计算 图书信息管理系统

2-112基于matlab的协同干扰功率分配模型

基于matlab的协同干扰功率分配模型,带操作界面的功率分配GUI,可以实现对已有功率的分配优化,可以手动输入参数值。4个干扰山区分二批总干扰功率,每个扇区包括威胁总系数、综合压制概率、目标函数增量等。程序已调通,可…

NVIDIA NVLink-C2C

NVIDIA NVLink-C2C 文章目录 前言一、介绍1. 用于定制芯片集成的超快芯片互连技术2. 构建半定制芯片设计3. 使用 NVLink-C2C 技术的产品 二、NVLink-C2C 技术优势1. 高带宽2. 低延迟3. 低功率和高密度4. 行业标准协议 前言 将 NVLink 扩展至芯片级集成 一、介绍 1. 用于定制芯…

【Java的SPI机制】Java SPI机制:实现灵活的服务扩展

在Java开发中,SPI(Service Provider Interface,服务提供者接口)机制是一种重要的设计模式,它允许在运行时动态地插入或更换组件实现,从而实现框架或库的扩展点。本文将深入浅出地介绍Java SPI机制&#xff…

Linux驱动开发(速记版)--设备模型

第八十章 设备模型基本框架-kobject 和 kset 80.1 什么是设备模型 设备模型使Linux内核处理复杂设备更高效。 字符设备驱动适用于简单设备,但对于电源管理和热插拔,不够灵活。 设备模型允许开发人员以高级方式描述硬件及关系,提供API处理设备…

kaggle实战3RossmanStore商店销售额预测XgBoost解决回归问题案例1

kaggle实战2信用卡反欺诈逻辑回归模型案例1 数据集下载地址 https://download.csdn.net/download/AnalogElectronic/89844637 https://tianchi.aliyun.com/dataset/89785 加载数据 #预测销售额 回归问题 import numpy as np import pandas as pd import matplotlib.pyplot a…

Pikachu-Unsafe FileUpload-客户端check

上传图片,点击查看页面的源码, 可以看到页面的文件名校验是放在前端的;而且也没有发起网络请求; 所以,可以通过直接修改前端代码,删除 checkFileExt(this.value) 这部分; 又或者先把文件名改成…

GS-SLAM论文阅读笔记-MGSO

前言 MGSO首字母缩略词是直接稀疏里程计(DSO),我们建立的光度SLAM系统和高斯飞溅(GS)的混合。这应该是第一个前端用DSO的高斯SLAM,不知道这个系统的组合能不能打得过ORB-SLAM3,以及对DSO会做出怎么样的改进以适应高斯地图,接下来…

随笔(四)——代码优化

文章目录 前言1.原本代码2.新增逻辑3.优化逻辑 前言 原逻辑:后端data数据中返回数组,数组中有两个对象,一个是属性指标,一个是应用指标,根据这两个指标展示不同的多选框 1.原本代码 getIndicatorRange(indexReportLi…

cherry-markdown开源markdown组件详细使用教程

文章目录 前言开发定位目标调研技术方案前提工作量安排数据库表设计实现步骤1、引入依赖2、实现cherry-markdown的vue组件(修改上传接口路径)3、支持draw.io组件4、支持展示悬浮目录toc前端使用:编辑状态使用cherry-markdown的vue组件前端使用…

【AUTOSAR 基础软件】COM模块详解(通信)

文章包含了AUTOSAR基础软件(BSW)中COM模块相关的内容详解。本文从AUTOSAR规范解析,ISOLAR-AB配置以及模块相关代码分析三个维度来帮读者清晰的认识和了解COM这一基础软件模块。文中涉及的ISOLAR-AB配置以及模块相关代码都是依托于ETAS提供的工…

Pikachu-Unsafe Fileupload-服务端check

MIME MIME是Multipurpose Internet Mail Extensions (多用途互联网邮件扩展类型)的缩写,用来表示文件、文档、或字节流的性质和格式。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候&#xff…