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

news2024/10/3 17:05:19

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.coloradmin.cn/o/2186570.html

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

相关文章

jenkins部署Maven和NodeJS项目

在 Java 项目开发中,项目的编译、测试、打包等是比较繁琐的,属于重复劳动的工作,浪费人力和时间成本。以往开发项目时,程序员往往需要花较多的精力在引用 jar 包搭建项目环境上,跨部门甚至跨人员之间的项目结构都有可能…

AutoSar通信服务—车载LIN总线详解

文章目录 诞生背景和应用场景LIN总线硬件接口LIN总线协议1. 架构2. 数据帧格式通信过程帧类型主节点的角色错误检测 LIN总线应用举例—获取四个车门状态1. 架构概述:2. 通信流程:3. 数据传输示例:4. 状态更新和处理:5. LIN通信调度…

MFC工控项目实例二十二主界面计数背景颜色改变

承接专栏《MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换》 1、在SEAL_PRESSUREDlg.h文件中添加代码 class CSEAL_PRESSUREDlg : public CDialog { public: CBrush m_brush1;CBrush m_brush2;CBrush m_brush3;... } 2、在SEAL_PRESSUREDlg.cpp文件中添加代码 BO…

汇编语言知识(王爽第四版)

汇编语言,当然,我们学习是在c语言的基础上,那么,我们就先复习一下c语言的知识 C语言的基础,进制转换必不可少 数组,函数…… 接下来,我们学习了数据结构:顺序表,链表&…

【C++】——类和对象(上)

【C】——类和对象(上) 文章目录 【C】——类和对象(上)前言1. 类的定义1.1 类定义格式1.2 访问限定符1.3 类域 2. 实例化2.1 实例化概念2.2 对象的大小 3. this指针4. C和C语言实现Stack对比结语 前言 小伙伴们大家好呀,今天我们就开始学习C的重点及难点——类和对…

华为云+WordPress+Puock主题搭建个人博客

网站访问地址:qingxuly.cn 搭建网站 购买华为云服务器,购买域名,进行备案,配置域名解析等操作,请参考华为云文档。 安装Ubuntu系统 华为云控制台中给云服务器安装Ubuntu2204。 配置服务器安全组 华为云安全组中创建安…

用HTML CSS JS打造企业级官网-源码直接可用

页面效果&#xff1a;本前端网站应用多个JS特效 1.index.html&#xff1a; <!DOCTYPE html> <html lang"zxx"> <head><title>蓝网团队</title><meta name"viewport" content"widthdevice-width, initial-scale1&q…

C++之多线程

前言 多线程和多进程是并发编程的两个核心概念,它们在现代计算中都非常重要,尤其是在需要处理大量数据、提高程序性能和响应能力的场景中。 多线程的重要性: 资源利用率:多线程可以在单个进程中同时执行多个任务,这可以更有效地利用CPU资源,特别是在多核处理器上。 性…

量化交易backtrader实践(三)_指标与策略篇(2)_内置指标A开头

在第1节中&#xff0c;我们学习了移动平均线的原理&#xff0c;中位数以及正态分布的概念&#xff0c;并通过python手工做了一个双均线的策略回测。了解了怎么用pandas计算移动平均线&#xff08;rollingmean)&#xff0c;怎么得到某一列上1个的值&#xff08;shift)&#xff0…

DOM树(上) -- 第七课

文章目录 前言一、DOM是什么&#xff1f;二、基础用法1.DOM树2. 获取元素1. id2. 标签3. name4. HTMLS新增的获取的方法1. 根据类型获取2. 根据querySelector获取 3. 事件基础1. 概述2. 事件三要素3. 操作元素内容1. 操作内容2. 操作属性3. 案例 4. 操作元素样式5. 案例 -- 显示…

【JDK动态代理】JDK动态代理:为何只能代理接口和接口实现类

在Java开发中&#xff0c;JDK动态代理是一种非常有用的技术&#xff0c;它允许开发者在不修改目标类代码的情况下&#xff0c;为目标类添加额外的功能。然而&#xff0c;JDK动态代理的使用有一些限制&#xff0c;特别是它只能代理接口和接口实现类。本文将深入探讨这一限制的原…

​IAR全面支持国科环宇AS32X系列RISC-V车规MCU

全球领先的嵌入式系统开发软件解决方案供应商IAR与北京国科环宇科技股份有限公司&#xff08;以下简称”国科环宇”&#xff09;联合宣布&#xff0c;最新版本IAR Embedded Workbench for RISC-V将全面支持国科环宇AS32X系列RISC-V MCU&#xff0c;双方将共同助力中国汽车行业开…

云原生(四十一) | 阿里云ECS服务器介绍

文章目录 阿里云ECS服务器介绍 一、云计算概述 二、什么是公有云 三、公有云优缺点 1、优点 2、缺点 四、公有云品牌 五、市场占有率 六、阿里云ECS概述 七、阿里云ECS特点 阿里云ECS服务器介绍 一、云计算概述 云计算是一种按使用量付费的模式&#xff0c;这种模式…

捕获Net-NTLM HASH 实验

1. Responder监听 sudo ./Responder.py -I eth0 -wv2. 触发NTLM请求 0x01. LLMNR && NBNS协议 winR : //asdasdasd0x02. 打印机漏洞 krbrelayx下的printerbug.py&#xff1a; 注意&#xff0c;这个凭据不是DC的&#xff0c;只要是个域用户都可以。后面是攻击目标&…

Linux中的进程间通信之管道

管道 管道是Unix中最古老的进程间通信的形式。 我们把从一个进程连接到另一个进程的一个数据流称为一个“管道” 匿名管道 #include <unistd.h> 功能:创建一无名管道 原型 int pipe(int fd[2]); 参数 fd&#xff1a;文件描述符数组,其中fd[0]表示读端, fd[1]表示写端 …

p2p、分布式,区块链笔记: Libp2p分散打孔 2022 IEEE 第 42 届分布式计算系统国际会议研讨会 (ICDCSW)

Decentralized Hole Punching 我们提出了一种内置于对等网络库 libp2p [1] 中的去中心化打洞机制。打洞对于对等网络至关重要&#xff0c;它使每个参与者能够直接与任何其他参与者通信&#xff0c;尽管被防火墙和 NAT 隔开。去中心化的 libp2p 打洞协议利用了类似于 STUN&…

Vivado - BD(差分时钟、简单分频、RESET、KEY)

目录 1. 简介 1.1 要点 1.2 buffer 介绍 2. vivado 工程 2.1 Block Design 2.2 IBUFDS 2.3 BUFGCE_DIV 2.4 Processor System Reset 2.5 key_mod 2.6 led_drv 3. 编译与调试 3.1 XDC 3.2 Debug 4. 总结 1. 简介 1.1 要点 了解 Utility Buffer v2.2 中的 Buffer…

关于HTML 案例_个人简历展示01

案例效果展示 代码 <!DOCTYPE html> <lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>个人简历信息</title> </he…

C语言高阶【1】--动态内存管理【1】(可以灵活的申请和使用内存,它不香吗?)

本章概述 为什么要有动态内存分配&#xff1f;malloc函数和free函数calloc函数和realloc函数常见的动态内存的错误彩蛋时刻&#xff01;&#xff01;&#xff01; 为什么要有动态内存分配&#xff1f; 情况描述&#xff1a;当我们创建一个变量时&#xff0c;比如&#xff0c;i…

《中安未来护照阅读器 —— 机场高效通行的智慧之选》

在机场&#xff0c;高效与准确的旅客信息处理至关重要。中安未来护照阅读器&#xff0c;为机场带来全新的智能化体验。它能够快速准确地读取护照信息&#xff0c;自动识别多种证件类型&#xff0c;极大提高了值机、安检等环节的效率。无论是繁忙的国际航站楼&#xff0c;还是国…