认证
此提供商需要身份验证。
- api_server: Kubernetes API 服务器 URL(必需:False,敏感:False)
- token: 访问 Kubernetes 的持有者令牌(集群内认证留空)(必需:False,敏感:True)
- insecure: 跳过 TLS 验证(必需:False,敏感:False)
- use_in_cluster_config: 使用集群内配置(ServiceAccount)(必需:False,敏感:False)
某些范围可能需要才能通过提供商执行特定操作或查询。以下是相关范围及其用例的摘要:
- connect_to_kubernetes: 检查提供的令牌是否可以连接到 Kubernetes 服务器(强制)
在工作流中
此提供商可用于工作流。
作为"步骤"来查询数据,示例:
yaml
steps:
- name: Query kubernetes
provider: kubernetes
config: "{{ provider.my_provider_name }}"
with:
command_type: {value} # 要执行的查询类型。支持的查询:
- get_logs: 获取 Pod 日志
- get_deployment_logs: 获取部署中所有 Pod 的日志
- get_events: 获取命名空间或 Pod 的事件
- get_nodes: 列出节点
- get_pods: 列出 Pod
- get_node_pressure: 获取节点压力条件
- get_pvc: 列出持久卷声明
- get_deployments: 列出部署
- get_statefulsets: 列出有状态集
- get_daemonsets: 列出守护进程集
- get_services: 列出服务
- get_namespaces: 列出命名空间
- get_ingresses: 列出命名空间或所有命名空间的入口
- get_jobs: 列出作业
# 查询的其他参数。作为"操作"来进行更改或更新数据,示例:
yaml
actions:
- name: Query kubernetes
provider: kubernetes
config: "{{ provider.my_provider_name }}"
with:
action: {value} # 要执行的操作。 supported actions are:
- rollout_restart: 重启部署/有状态集/守护进程集
- restart_pod: 重启特定 Pod
- cordon_node: 将节点标记为不可调度
- uncordon_node: 将节点标记为可调度
- drain_node: 安全驱逐节点上的 Pod
- scale_deployment: 扩展/缩减部署
- scale_statefulset: 扩展/缩减有状态集
- exec_pod_command: 在 Pod 中执行命令
# 操作的其他参数。请查看以下工作流示例:
连接 Provider
要连接到 Kubernetes,请按照以下步骤操作:
- 在 Kubernetes 上创建服务账户。
- 使用 rolebinding/clusterrolebinding 创建 role/clusterrole 并绑定到服务账户。
- 获取服务账户的 token。
注意事项
- 此 provider 允许您与 Kubernetes 交互以执行滚动重启或 pod 列表操作。