k8s 通过 yaml 文件创建 namespace
时间: 2023-06-30 07:16:23 浏览: 191
可以通过以下的 yaml 文件创建 namespace:
```
apiVersion: v1
kind: Namespace
metadata:
name: <namespace-name>
```
其中`<namespace-name>`是你想要创建的 namespace 的名称,将其替换为你自己的名称即可。保存该文件,然后使用以下命令创建 namespace:
```
kubectl apply -f <文件名>.yaml
```
其中`<文件名>`是你保存 yaml 文件的名称。执行该命令后,kubernetes会使用该 yaml 文件创建一个新的 namespace。
相关问题
k8s部署 yaml文件在a namespace中然后如何调用b namespace得secret
在Kubernetes (k8s) 中,当你在一个命名空间 (namespace A) 写了一个部署配置 (Deployment YAML 文件),它定义了应用程序的副本集,这个配置文件并不会直接关联到其他命名空间 (namespace B) 的资源,如密钥 (Secret)。
如果你需要从A命名空间访问B命名空间的Secret,你需要在应用的Podspec或其他引用 Secret 的地方添加以下内容:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: your-pod-name
spec:
containers:
- name: your-container
envFrom:
- secretRef:
name: secret-from-b-namespace
namespace: namespace-B
```
这里,`secretRef` 指向了 `namespace-B` 下名为 `secret-from-b-namespace` 的 Secret。当 Pod 启动时,Kubernetes 将自动从指定的 Secret 获取环境变量或配置信息。
如果你需要在Pod内部直接访问B命名空间的Secret数据,你也可以通过ServiceAccount的方式,赋予ServiceAccount在两个命名空间之间的权限,然后让Pod使用这个ServiceAccount。
k8s通过yaml部署dashboard
要通过YAML文件部署Kubernetes Dashboard,可以按照以下步骤进行操作:
1. 首先,创建一个名为`dashboard.yaml`的YAML文件,并使用文本编辑器打开它。
2. 在`dashboard.yaml`文件中,添加以下内容:
```yaml
apiVersion: v1
kind: Namespace
metadata:
name: kubernetes-dashboard
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
```
这将创建一个名为`kubernetes-dashboard`的命名空间以及一个名为`admin-user`的ServiceAccount。
3. 接下来,添加以下内容来授予ServiceAccount相关权限:
```yaml
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
```
这将创建一个名为`admin-user`的ClusterRoleBinding,并将其绑定到`cluster-admin`角色。
4. 最后,在`dashboard.yaml`文件中添加以下内容来部署Dashboard:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: kubernetes-dashboard
namespace: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
spec:
replicas: 1
selector:
matchLabels:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
spec:
serviceAccountName: admin-user
containers:
- name: kubernetes-dashboard
image: kubernetesui/dashboard:v2.4.0
ports:
- containerPort: 8443
protocol: TCP
args:
- --enable-skip-login
```
这将创建一个名为`kubernetes-dashboard`的Deployment,并使用`admin-user` ServiceAccount进行验证。Dashboard的镜像版本为v2.4.0,并且启用了跳过登录的功能。
5. 保存并关闭`dashboard.yaml`文件。
6. 运行以下命令来部署Dashboard:
```
kubectl apply -f dashboard.yaml
```
这将使用`dashboard.yaml`文件中定义的配置部署Kubernetes Dashboard。
部署完成后,可以使用以下命令检查Dashboard的状态:
```
kubectl get all -n kubernetes-dashboard
```
确保所有相关的Pod和服务都处于运行状态。然后,可以通过访问Dashboard的URL(通常是https://<cluster-ip>:8443)来访问Kubernetes Dashboard。请注意,具体的URL和访问方式可能因集群配置而有所不同。
阅读全文