kubectl get pod -n myinvisalign | grep $(kubectl describe deploy $K8S_APP -n myinvisalign | grep 'NewReplicaSet:' | awk '{ print $2 }') | awk '{print $1,$3}' pod_rc=$(kubectl describe deploy ${K8S_APP} -n myinvisalign | grep 'NewReplicaSet:' | awk '{ print $2 }') pod_state=$(kubectl get pod -n myinvisalign | grep $pod_rc | awk '{print $3}') 这个脚本错哪了
时间: 2023-12-14 07:40:27 浏览: 143
这个脚本看起来是两行命令,但是中间缺少分号或者换行符,会导致第一行命令中的变量 `$K8S_APP` 无法被正确解析。正确的写法可以是:
```
pod_rc=$(kubectl describe deploy ${K8S_APP} -n myinvisalign | grep 'NewReplicaSet:' | awk '{ print $2 }'); pod_state=$(kubectl get pod -n myinvisalign | grep $pod_rc | awk '{print $3}')
```
或者:
```
kubectl get pod -n myinvisalign | grep $(kubectl describe deploy $K8S_APP -n myinvisalign | grep 'NewReplicaSet:' | awk '{ print $2 }') | awk '{print $1,$3}'; pod_rc=$(kubectl describe deploy ${K8S_APP} -n myinvisalign | grep 'NewReplicaSet:' | awk '{ print $2 }'); pod_state=$(kubectl get pod -n myinvisalign | grep $pod_rc | awk '{print $3}')
```
这两种写法都是将两行命令分别用分号或者换行符分隔开,避免了变量 `$K8S_APP` 解析错误的问题。
相关问题
k8s dashboard v3 部署
要部署 Kubernetes Dashboard v3,你可以按照以下步骤进行操作:
1. 首先,确保你的 Kubernetes 集群已经安装好并正常运行。
2. 下载 Kubernetes Dashboard v3 的 YAML 文件。你可以从 Kubernetes Dashboard 的 GitHub 仓库中获取最新的 YAML 文件。运行以下命令来下载:
```shell
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
```
3. 修改 YAML 文件。打开下载的 YAML 文件,并搜索 `--auto-generate-certificates`,取消注释该行以启用自动生成证书。此外,你还可以根据需要修改其他配置选项。
4. 部署 Kubernetes Dashboard。运行以下命令来部署 Dashboard:
```shell
kubectl apply -f recommended.yaml
```
5. 创建一个用于访问 Dashboard 的 ServiceAccount 和 ClusterRoleBinding。运行以下命令:
```shell
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
```
6. 获取访问令牌。运行以下命令获取访问令牌:
```shell
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
```
这将输出一个长字符串,即访问令牌。
7. 启动 Dashboard 代理。运行以下命令启动代理:
```shell
kubectl proxy
```
8. 访问 Dashboard。在浏览器中访问以下 URL:
```
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```
然后选择 "Token" 选项,将之前获取到的访问令牌粘贴到输入框中,点击 "Sign in" 即可登录 Kubernetes Dashboard。
请注意,Kubernetes Dashboard v3 目前仍处于预览阶段,可能存在一些限制和变化。在部署之前,请确保你已经详细阅读了相关文档,并了解其当前的状态和要求。
k8s dashboard3.0 安装
要安装 Kubernetes Dashboard 3.0,可以按照以下步骤进行操作:
1. 首先,确保已经安装了 `kubectl` 命令行工具,并且已经配置了可以访问 Kubernetes 集群的权限。
2. 下载并应用 Dashboard 的 YAML 配置文件。可以使用以下命令:
```shell
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
```
3. 部署完成后,你可以通过以下命令创建一个具有管理员权限的用户,并将其绑定到 `cluster-admin` 角色:
```shell
kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
```
4. 获取访问令牌。运行以下命令以获取具有管理员权限的用户的访问令牌:
```shell
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
```
这将打印出一个长字符串,即你的访问令牌。
5. 启动代理服务器以访问 Kubernetes Dashboard。运行以下命令:
```shell
kubectl proxy
```
这将在本地启动一个代理服务器,默认情况下监听端口 8001。
6. 在浏览器中访问以下 URL 以打开 Kubernetes Dashboard:
```
http://localhost
阅读全文