首页 > 其他分享 >kubectl 管理 Calico APIServer

kubectl 管理 Calico APIServer

时间:2023-08-18 17:23:05浏览次数:33  
标签:kubectl false apiserver projectcalico calico APIServer org Calico

前提

1. calico使用kubernetes API作为数据存储。
2. Calico 版本要求 v3.20+

使用operator 部署 Calico APIServer

calico-apiserver.yaml

apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
  name: default
spec: {}

创建calico-apiserver资源

# kubectl apply -f calico-apiserver.yaml

查看calico-apiserver资源

# kubectl get tigerastatus apiserver
NAME        AVAILABLE   PROGRESSING   DEGRADED   SINCE
apiserver   True        False         False      1m10s

删除calico-apiserver资源

# kubectl delete apiserver default

使用manifests 部署Calico APIServer

部署 calico-apiserver

# kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/apiserver.yaml

生成证书

# openssl req -x509 -nodes -newkey rsa:4096 -keyout apiserver.key -out apiserver.crt -days 365 -subj "/" -addext "subjectAltName = DNS:calico-api.calico-apiserver.svc"

创建 secret  

# kubectl create secret -n calico-apiserver generic calico-apiserver-certs --from-file=apiserver.key --from-file=apiserver.crt

calico-apiserver 打补丁

# kubectl patch apiservice v3.projectcalico.org -p \
    "{\"spec\": {\"caBundle\": \"$(kubectl get secret -n calico-apiserver calico-apiserver-certs -o go-template='{{ index .data "apiserver.crt" }}')\"}}"

删除calico-apiserver资源

# kubectl delete -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/apiserver.yaml

查看 calico API资源

# kubectl api-resources | grep '\sprojectcalico.org'
bgpconfigurations                 bgpconfig,bgpconfigs                            projectcalico.org              false        BGPConfiguration
bgppeers                                                                          projectcalico.org              false        BGPPeer
clusterinformations               clusterinfo                                     projectcalico.org              false        ClusterInformation
felixconfigurations               felixconfig,felixconfigs                        projectcalico.org              false        FelixConfiguration
globalnetworkpolicies             gnp,cgnp,calicoglobalnetworkpolicies            projectcalico.org              false        GlobalNetworkPolicy
globalnetworksets                                                                 projectcalico.org              false        GlobalNetworkSet
hostendpoints                     hep,heps                                        projectcalico.org              false        HostEndpoint
ippools                                                                           projectcalico.org              false        IPPool
kubecontrollersconfigurations                                                     projectcalico.org              false        KubeControllersConfiguration
networkpolicies                   cnp,caliconetworkpolicy,caliconetworkpolicies   projectcalico.org              true         NetworkPolicy
networksets                       netsets                                         projectcalico.org              true         NetworkSet
profiles                                                                          projectcalico.org              false        Profile

kubectl 管理calico API 示例

# kubectl get ippools
NAME                  CREATED AT
default-ipv4-ippool   2021-03-19T16:47:12Z

参考文档

https://docs.tigera.io/calico/latest/operations/install-apiserver

标签:kubectl,false,apiserver,projectcalico,calico,APIServer,org,Calico
From: https://www.cnblogs.com/wangguishe/p/17641085.html

相关文章

  • 部署 calicoctl
    calicoctl与kubectl在以前的版本中,calicoctl需要管理projectcalico.org/v3API组中的CalicoAPI资源。calicoctlCLI工具提供了对这些API的重要验证和默认设置。在较新的版本中,CalicoAPI服务器在服务器端执行默认和验证,公开相同的API语义,而不依赖于calicoctl。因此,我们建议......
  • Calico 部署
    Calico部署方式Calico部署方式有两种:operator部署和清单方式部署。CalicooperatorCalico由operator安装,该operator负责管理Calico集群的安装、升级和一般生命周期。operator作为Deployment直接安装在集群上,并通过一个或多个自定义KubernetesAPI资源进行配置。Calicomanife......
  • kubectl命令行介绍
    一.k8s概念:从节点的角色来看一个master一个node1.1Master节点master是k8s的控制节点叫ControlPlane或者叫控制平面,在生产环境中不建议部署集群核心组件外的任何Pod,就是master节点上不允许Pod的,master只负责群集的调度正常情况master有三个角色APIServer:APIServer是集群的管理......
  • calicoctl工具部署-k8s中的pod的方式
    1、概述 本文档介绍的是将calicoctl工具,以pod的方式,部署在k8s集群中2、部署过程 2.1下载calicoctl工具的镜像、上传到本地的镜像仓库中本次使用的版本是:calico/ctl:v3.21.4这个版本和当前运行的calico-node是一个版本(必须一致,包括后面的小版本) 拉取镜像dockerpul......
  • 4.重置集群,更换网络插件calico
    网络插件kubernetes最流行的网络查件:flannel和calico如果kubernetes节点不超过50个用InstallCalicowithKubernetesAPIdatastore,50nodesorless如果kubernetes超过50个节点用InstallCalicowithKubernetesAPIdatastore,morethan50nodes如果使用独立的etcd集......
  • k8s中如何固定一个pod的IP地址?该集群网络插件是calico
    1、首先查看calico的CIDR地址范围[root@nccztsjb-node-17~]#calicoctlgetippoolNAMECIDRSELECTORdefault-pool172.23.0.0/16all() 2、然后呢,在这个地址范围内,给pod选择一个固定的IP地址比如:172.23.45.27 通过在pod中加入annotat......
  • kube-apiserver内存溢出问题调查及go tool pprof工具的使用
    问题描述测试集群三台master,每个master上面的kube-apiserver都频繁的重启。登录其中一台master,发现kube-apiserver的内存占用特别高,每次重启完后内存很快就飙到了20G左右,而且还有继续增长的趋势。因为默认kube-apiserver的静态pod是没有设置memeorylimit的,最终api-server会吃光......
  • k8s使用token访问集群apiserver
    exportTOKEN=eyJhbGciOiJSUzI1NiIsImtpZCI6InRjMEs2b2tyVUFjdHZuazNTS1VrM0s3LWFHMlVjek5NTUJnVUVSTTVHQnMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJzaGlvcmlrbyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY29......
  • calico报错son: cannot unmarshal string into Go struct field NetConf.mtu of type
     于是describe查看宿主机的配置文件查看日志没有相关日志查看calico的相关配置文件值找到于是想着直接去修改calico的Configmap发现修改不成功便去查询宿主机映射的calico挂载文件把标记部分的string给成int去掉双引号,然后重启calico然后通过ansible分发到每台机器上an......
  • kubectl - 如何列出Pod中运行的所有容器,包括初始化容器
    初始化容器存储在spec.initContainers中:kubectlgetpodsPOD_NAME_HERE-ojsonpath={.spec.initContainers[*].name}运行的所有容器在containers中kubectlgetpodsPOD_NAME_HERE-ojsonpath={.spec.containers[*].name}可以使用JSONPathmagic来显示两者kubectlgetpo......