当前位置: 首页 > news >正文

河南省汝州文明建设门户网站博客网站建设源码

河南省汝州文明建设门户网站,博客网站建设源码,东莞市seo网络推广品牌,上海广告传媒有限公司目录 一、获取使用restApi调用的token信息 二、client-go操作pod示例 1、获取到客户端 2、创建pod 3、获取test命令空间的所有pod 4、获取某个具体pod的详细信息 5、更新pod 6、删除pod 三、总结 官方参考地址#xff1a;https://kubernetes.io/docs/reference/kuber…目录 一、获取使用restApi调用的token信息 二、client-go操作pod示例 1、获取到客户端 2、创建pod 3、获取test命令空间的所有pod 4、获取某个具体pod的详细信息 5、更新pod 6、删除pod 三、总结 官方参考地址https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/ 一、获取使用restApi调用的token信息 [rootk8s-master01 projects]# kubectl create token postman-sa eyJhbGciOiJSUzI1NiIsImtpZCI6IkwzUWF1NHdyek9kZUl1NEJMWGFLV3NMenVkUmpxWTZfbzZlZktUTDZWeFkifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzMyNjE4OTY0LCJpYXQiOjE3MzI2MTUzNjQsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJkZWZhdWx0Iiwic2VydmljZWFjY291bnQiOnsibmFtZSI6InBvc3RtYW4tc2EiLCJ1aWQiOiJjZWNjOTVlOC1hMmM4LTRkZjYtYmY4Ny1lMDg1ZjU0YjI5ODcifX0sIm5iZiI6MTczMjYxNTM2NCwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmRlZmF1bHQ6cG9zdG1hbi1zYSJ9.qAs7SZrm90WTGHYCVT_XAZ2q_GS12jOmlM03dsr-pQINcHUCP0QoNS7rELMJZhZF2p5j7kImkHEQyEG0s0xQxrT8Gqy2-USq5YYW3HLW2VOCQYsNaR1ih3EucTgOuSVvVkqelBR3AI6PSTkV1H2q5rik-7BYr7xxyu9A05gl7Cgbg0ZtR9WfKglChpQ1cgFC7OBo0CO1F-mkVZlaXigdnIEQNhhvIO0o-mxrPNFlQ5IMI1LAtXOrKnxxja5XfmiiOh2YohTaMJPfW5CRNwDIvzbP6C8dRoK-sC_jfYS0uMn2epAdzPyXu8s_LNLUxxxAg-BZD6U3OqX_2mK4lKS0KQ通过使用kubectl create token serviceaccountName来获取到服务账号对应的token信息进而直接通过client-go来操作k8s集群。 二、client-go操作pod示例 1、获取到客户端 func getClient() *kubernetes.Clientset {// 假设你已经有了tokentoken : eyJhbGciOiJSUzI1NiIsImtpZCI6IkwzUWF1NHdyek9kZUl1NEJMWGFLV3NMenVkUmpxWTZfbzZlZktUTDZWeFkifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzMyNjE1NzMxLCJpYXQiOjE3MzI2MTIxMzEsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJkZWZhdWx0Iiwic2VydmljZWFjY291bnQiOnsibmFtZSI6InBvc3RtYW4tc2EiLCJ1aWQiOiJjZWNjOTVlOC1hMmM4LTRkZjYtYmY4Ny1lMDg1ZjU0YjI5ODcifX0sIm5iZiI6MTczMjYxMjEzMSwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmRlZmF1bHQ6cG9zdG1hbi1zYSJ9.o_4CGeouCp8OUv7wq_TlpdraoM_zo4TXxBKy-hBWK79KdnU5GttujAe1XX49Ib2Pj1ycGChZUKHYVtsjojKD5evsWjgzaULIJLJ8809OwGZGWbvVeTUaLf9Xoo9jOTuIRR98e3MwdbgeUypstvaQbdLmlPnlG7fs8Od9jfwQBRGttlsBTDqNG0o9QleJyk_hebanh1Z_eMQvUFdYSUc9RrQlSDSNvtAF_h6vhizdQeb_ePj1MPnZOPLUs9a4rbycJ5NtuWrLsDxpxlhrly_XDVUsvU9KqazaNG6Z8lIGgY09vQnDTht_-n0X9UJdQuf_u7BIS111wMHnqC50zDnoMA// 创建配置config : rest.Config{Host: https://192.168.188.101:6443,BearerToken: token,// 可能还需要设置其他字段如TLSClientConfig等TLSClientConfig: rest.TLSClientConfig{Insecure: true, // 不要在生产环境中使用},}// 创建客户端clientset, err : kubernetes.NewForConfig(config)if err ! nil {// 处理错误log.Fatalf(Error to new client!)}return clientset } 参数说明 token为上面步骤获取到数据 host地址为你k8s集群中apiServer的运行地址 2、创建pod func createPod(clientset *kubernetes.Clientset) {// 定义Podpod : v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: example-pod,//Namespace: test,},Spec: v1.PodSpec{Containers: []v1.Container{{Name: example-container,Image: nginx:1.15-alpine,},},},}// 创建Podfmt.Println(Creating pod...)podsClient : clientset.CoreV1().Pods(test)result, err : podsClient.Create(context.TODO(), pod, metav1.CreateOptions{})if err ! nil {panic(err.Error())}fmt.Printf(Namespace: %s, Name: %s, Status: %s\n, result.Namespace, result.Name, result.Status.Phase) } 3、获取test命令空间的所有pod func listPod(clientset *kubernetes.Clientset) {// 创建Podfmt.Println(list pod...)podsClient : clientset.CoreV1().Pods(test)result, err : podsClient.List(context.TODO(), metav1.ListOptions{})if err ! nil {panic(err.Error())}for _, pod : range result.Items {fmt.Printf(Namespace: %s, Name: %s, Status: %s\n, pod.Namespace, pod.Name, pod.Status.Phase)} } 4、获取某个具体pod的详细信息 func getPodDetail(clientset *kubernetes.Clientset) *v1.Pod {// 创建Podfmt.Println(list pod...)podsClient : clientset.CoreV1().Pods(test)pod, err : podsClient.Get(context.TODO(), example-pod, metav1.GetOptions{})if err ! nil {panic(err.Error())}fmt.Printf(Namespace: %s, Name: %s, Status: %s\n, pod.Namespace, pod.Name, pod.Status.Phase)return pod }5、更新pod func updatePod(clientset *kubernetes.Clientset) {pod : getPodDetail(clientset)// Update Pod (e.g., add an annotation)pod.Annotations map[string]string{updated-by: client-go,}// 创建Podfmt.Println(list pod...)podsClient : clientset.CoreV1().Pods(test)updatedPod, err : podsClient.Update(context.TODO(), pod, metav1.UpdateOptions{})if err ! nil {log.Fatalf(Error updating Pod: %v, err)}fmt.Printf(Updated Pod %q with annotation.\n, updatedPod.Name)fmt.Printf(Namespace: %s, Name: %s, Status: %s\n, pod.Namespace, pod.Name, pod.Status.Phase) } 6、删除pod func deletePod(clientset *kubernetes.Clientset) {// Delete PoddeletePolicy : metav1.DeletePropagationForegroundpodsClient : clientset.CoreV1().Pods(test)err : podsClient.Delete(context.TODO(), example-pod, metav1.DeleteOptions{PropagationPolicy: deletePolicy,})if err ! nil {log.Fatalf(Error deleting Pod: %v, err)}fmt.Printf(Pod %q deleted.\n, example-pod)} 三、总结 本文详细介绍了如何通过client-go来对pod进行操作并且具体演示了对pod的创建、获取列表、获取pod详情、更新pod、已经删除pod的操作。
http://www.w-s-a.com/news/536165/

相关文章:

  • 单位建设网站的请示手机移动端网站案例
  • 国内做网站的企业网站结构有哪些类型
  • 南通网站建设制作公司苏州好的网站公司名称
  • 咸阳做网站开发公司哪家好珠海公司制作网站
  • 深圳网站建设好不好医疗网站前置审批
  • 做ic什么网站好安溪网站建设
  • 网站建设 慕课企业文化标语经典
  • 做短视频的网站都有哪些简约 时尚 高端 网站建设
  • 浦口区网站建设售后服务建设一个网站多少钱
  • 做个小网站大概多少钱广州h5网站
  • 360免费建站视频wordpress标签显示图片
  • 创建简易个人网站国外做网站被动收入
  • 轻定制网站建设网页培训哪个机构好
  • 青岛海诚互联做网站好吗计算机软件开发培训机构
  • 德钦网站建设如何在网站上做用工登记
  • 创意品牌网站云服务
  • 个人备案网站可以做商城展示如何制作网页二维码
  • 网站建设php教程视频百度seo 站长工具
  • 外包小程序两个相同的网站对做优化有帮助
  • 网站备案主体修改wordpress 导航图片
  • 怎么建设网站数据库用vs代码做网站
  • 运营企业网站怎么赚钱动漫制作专业概念
  • 宜春网站建设推广网络推广工作好干吗
  • 网站程序0day平顶山市做网站
  • 企业网站名称怎么写哔哩哔哩网页版官网在线观看
  • 直播网站建设书籍阿里巴巴网站建设销售
  • 肇庆企业自助建站系统郴州网站建设解决方案
  • 长沙专业做网站排名游戏开发大亨内购破解版
  • 网站推广适合女生做吗网站如何开启gzip压缩
  • 做外单阿里的网站建站平台那个好