查询pod
查询所有的pod
//查询所有的pod
V1PodList list = api.listPodForAllNamespaces(null,null,null,null,null,null,null,
null,null);
//输出
for (V1Pod item : list.getItems()) {
System.out.println(item);
}
查询特定namespace下的pod
//查询特定ns的pod
V1PodList list2 = api.listNamespacedPod("ctf","true",null,null,null,null,null,null,null,
null);
//输出
for (V1Pod item : list2.getItems()) {
System.out.println(item);
}
创建一个pod
java操作部分
//直接写config path
String kubeConfigPath = "config";
//加载k8s, config
ApiClient client = ClientBuilder.kubeconfig(KubeConfig.loadKubeConfig(new FileReader(kubeConfigPath))).build();
//将加载config的client设置为默认的client
Configuration.setDefaultApiClient(client);
//创建一个api
CoreV1Api api = new CoreV1Api();
//指定分类
Yaml.addModelMap("v1", "Pod", V1Pod.class);
//加载配置文件
File file = ResourceUtils.getFile("nginxpod.yaml");
//根据文件创建 v1Pod
V1Pod v1Pod = (V1Pod) Yaml.load(file);
//5个参数 namespace V1Pod pretty
api.createNamespacedPod("ctf",v1Pod,"true",null,null);
nginxpod.yaml
apiVersion: v1 ##版本
kind: Pod ##类型
metadata:
name: nginx
namespace: ctf
spec:
containers:
- image: nginx:1.17.3
name: pod
ports:
- name: nginx-port
containerPort: 80 ##容器的端口
hostPort: 8899 ##映射到宿主机的端口
protocol: TCP