websocket协议exec到kubernetes pod,代码示例

// test.js
const fs = require('fs')
const WebSocket = require('ws')

url = 'wss://apiserver.com:6443/api/v1/namespaces/default/pods/test-bvt-container/exec?command=ls&container=test-bvt-container-lvcsuv1v-eu95&stderr=true&stdout=true'

sock = new WebSocket(url, 'channel.k8s.io', {
  ca: fs.readFileSync(`${process.env.HOME}/ca.crt`),
  cert: fs.readFileSync(`${process.env.HOME}/client.crt`),
  key: fs.readFileSync(`${process.env.HOME}/client.key`)
})

// 处理连接升级事件
sock.on('upgrade', (response) => {
  console.log('HTTP Response Code:', response.statusCode);
  console.log('HTTP Response Headers:', response.headers);

  // 监听后续的消息事件来接收服务器的返回内容
  response.on('data', (chunk) => {
    console.log('Received data from server:', chunk.toString());
  });

  response.on('end', () => {
    console.log('No more data from server');
  });
});

sock.on('open', () => console.log('open'))
sock.on('message', (x) => console.log('message', JSON.stringify(x.toString())))
sock.on('close', () => console.log('close'))
sock.on('error', (x) => console.log('on error', x))

运行之前需要

npm install fs ws

node test.js

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值