如何在K3s上安装KubeApps

42次阅读
没有评论

问题描述

想知道如何在K3s上安装KubeApps,并希望了解最少的必要步骤。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

步骤1:安装K3s

首先,您需要安装K3s。您可以按照官方文档中的说明进行安装。以下是安装K3s的命令:

curl -sfL https://get.k3s.io | sh -

步骤2:为用户添加KUBECONFIG

在安装K3s后,您需要为用户添加KUBECONFIG。您可以按照以下步骤操作:
1. 创建一个名为~/.kube的目录(如果不存在):

mkdir ~/.kube 2> /dev/null
  1. 使用以下命令将KUBECONFIG配置文件写入用户的~/.kube/config文件中:
export KUBECONFIG=~/.kube/config
sudo k3s kubectl config view --raw > "$KUBECONFIG"
chmod 600 "$KUBECONFIG"

步骤3:安装Helm

在安装K3s之后,您需要安装Helm。您可以按照官方文档中的说明进行安装。以下是安装Helm的命令:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

步骤4:设置KubeApps

在安装了K3s和Helm之后,您可以开始安装KubeApps。按照以下步骤进行操作:
1. 添加Kubeapps的Helm仓库:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
  1. 使用以下命令安装KubeApps:
helm install -n kubeapps --create-namespace kubeapps bitnami/kubeapps
  1. 配置KubeApps:
kubectl create --namespace default serviceaccount kubeapps-operator
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: kubeapps-operator-token
  namespace: default
  annotations:
    kubernetes.io/service-account.name: kubeapps-operator
type: kubernetes.io/service-account-token
EOF
kubectl get --namespace default secret kubeapps-operator-token -o jsonpath='{.data.token}' -o go-template='{{.data.token | base64decode}}' && echo
  1. 启动KubeApps(请注意,我们在kubectl port-forward命令中使用了一个稍微修改的参数--address 0.0.0.0):
kubectl port-forward -n kubeapps --address 0.0.0.0 svc/kubeapps 8080:80

卸载KubeApps和K3s

如果您想要卸载KubeApps和K3s,可以按照以下步骤进行操作:
1. 运行以下命令卸载K3s:

sudo k3s-uninstall.sh
  1. 删除Helm和缓存:
sudo rm -rf /usr/local/bin/helm ~/.cache/helm /root/.cache/helm
  1. 删除日志:
sudo rm -rf /var/log/pods/
  1. 删除集群配置、密钥和kubeconfig文件:
sudo rm -rf ~/.kube

以上是在K3s上安装和卸载KubeApps的最少必要步骤。希望对您有所帮助!

正文完