kubernetes(k8s) API调用方式

1. kubectl命令行

// 在 master 节点上直接输入 kubectl 相关命令即可,输入 kubectl --help 查看相关命令
// 示例:获取当前所有 node 节点
kubctl get node

在这里插入图片描述

2. kubectl反向代理

  • kubectl 既作为访问api server的命令行客户端工具,又可以作为反向代理,指定监听端口,通过http的方式对api server的操作
// 在 master 节点上,输入如下命令(默认监听端口8001)
kubectl proxy

// 如果需要指定端口,则添加选项 --port
kubectl proxy --port=8080
  • 访问测试
    在这里插入图片描述

3. 不安全端口8080

  • 使用http协议
  • 默认不开启,需要修改配置文件开启
// 1. 进入 /etc/kubernetes/manifests/ 目录
cd /etc/kubernetes/manifests/

// 2. 修改 kube-apiserver.yaml
vim kube-apiserver.yaml

// 3. 找到配置选项 –insecure-port ,改为8080
–insecure-port=8080

// 4. 添加配置选项
–insecure-bind-address=0.0.0.0

// 5. 重启 kubelet
systemctl daemon-reload
systemctl restart kubelet
  • 访问测试
    在这里插入图片描述

4. 安全端口6443

  • https 协议
  • 需要获取 token 后,在请求头中加上token方可访问

4.1. 创建管理员用户

  • 编写CreateServiceAccount.yaml文件, 内容如下
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
  • 创建用户命令
kubectl create -f CreateServiceAccount.yaml
  • 查看创建用户的命令
kubectl -n kube-system get sa

4.2. 用户授权

  • 编写RoleBinding.yaml文件,给于cluster-admin角色,文件内容如下
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system
  • 给用户授权,执行命令
kubectl create -f RoleBinding.yaml

4.3. 获取token

  • 获取输出中的 name,假如输出name为 admin-user-token-7kc6n
kubectl get secret -n kube-system | grep admin
  • 将name填入下方,得到token
kubectl  describe secret admin-user-token-7kc6n -n kube-system |grep token

4.4. 访问测试

在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值