本篇更新网上许多安装失效的工具,如krew和KinD。
本篇测试使用时间为2023/7/20,基本都为最新版本或最新稳定版本。
前置
Helm 是 Kubernetes 的一个包管理工具,用于简化 Kubernetes 应用的部署和管理。Helm 使用名为 "chart" 的打包格式来组织和描述一组相关的 Kubernetes 资源。
一个chart的结构大概为,备注注释了文件作用(测试使用应该Chart有Chart.yaml、values.yaml(没动态赋值甚至都不需要)、templates目录即可):
my-chart/
│
├── Chart.yaml # Chart 的基本信息,如名称、版本、描述等,该文件必需
├── values.yaml # Chart 的默认配置值,安装 Chart 时可提供一个自定义values.yaml 文件或--set参数覆盖这些默认值。
├── templates/ # k8s资源模板文件,这些模板文件用 Go 模板语言编写,可根据 values.yaml 中配置值动态生成最后k8s资源。
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ └── ...
│
├── charts/ # 依赖的其他 Helm chart(可选),可用Helm依赖管理功能自动下载和安装依赖的chart。
├── .helmignore # Helm 忽略文件列表(可选),类似于 .gitignore用于指定打包 Chart 时需忽略的文件和目录
└── README.md # Chart 的说明文档(可选),通常包括安装方法、配置选项等
sudo lsof -i :80 -i :443 # 查看端口80和443是否被占用
Linux安装helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh # 会默认安装到/usr/local/bin/helm
Linux上安装KinD(网上的绝大多数教程都已失效)
本篇使用 kind v0.11.1 go1.16.4 linux/amd64
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/ # sudo mv ./kind /usr/local/bin/
Linux安装kubectl(k8s官网:在 Linux 系统中安装并设置 kubectl | Kubernetes)
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client # 执行测试,以保障你安装的版本是最新的
kubectl version --client --output=yaml # 查看版本的详细信息
安装krew(网上的绝大多数教程都已失效)
参考https://github.com/kubernetes-sigs/krew/releases
wget https://github.com/kubernetes-sigs/krew/releases
wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.4/krew.yaml
tar zxvf krew.tar.gz
./krew-linux_amd64 install krew
echo 'export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
还可安装hlf插件
kubectl krew install hlf
安装服务网格istio,确保可以使用命令istioctl
curl -L https://istio.io/downloadIstio | sh -
chmod +x istio-*
sudo mv istio-*/bin/istioctl /usr/local/bin/
istioctl operator init