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 10:40:27 浏览: 77
这个脚本看起来是两行命令,但是中间缺少分号或者换行符,会导致第一行命令中的变量 `$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 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
k8s v1.23.0如何用网页访问
要在Kubernetes中使用Web界面,您需要启用Kubernetes Dashboard。以下是在Kubernetes v1.23.0中使用Web界面的步骤:
1. 安装Kubernetes Dashboard。
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.1/aio/deploy/recommended.yaml
```
2. 启动代理。
```bash
kubectl proxy
```
3. 访问Web界面。
使用以下URL访问Kubernetes Web界面:
```bash
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```
您将看到一个登录页面,选择“Token”身份验证并输入以下命令以获取令牌:
```bash
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep service-controller-token | awk '{print $1}')
```
将令牌复制到登录页面中并点击“登录”按钮即可访问Kubernetes Web界面。