parts/k8s/addons/antrea.yaml (4,614 lines of code) (raw):
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antreaagentinfos.clusterinformation.antrea.tanzu.vmware.com
spec:
group: clusterinformation.antrea.tanzu.vmware.com
names:
kind: AntreaAgentInfo
plural: antreaagentinfos
shortNames:
- laai
singular: antreaagentinfo
scope: Cluster
versions:
- name: v1beta1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antreaagentinfos.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: AntreaAgentInfo
plural: antreaagentinfos
shortNames:
- aai
singular: antreaagentinfo
scope: Cluster
versions:
- additionalPrinterColumns:
- description: Health status of this Agent
jsonPath: .agentConditions[?(@.type=='AgentHealthy')].status
name: Healthy
type: string
- description: Last time the Healthy Condition was updated
jsonPath: .agentConditions[?(@.type=='AgentHealthy')].lastHeartbeatTime
name: Last Heartbeat
type: date
- description: Version of this Agent
jsonPath: .version
name: Version
priority: 1
type: string
- description: Node on which this Agent is running
jsonPath: .nodeRef.name
name: Node
priority: 1
type: string
- description: Number of local Pods managed by this Agent
jsonPath: .localPodNum
name: Num Pods
priority: 2
type: integer
- description: Subnets used by this Agent for Pod IPAM
jsonPath: .nodeSubnets
name: Subnets
priority: 2
type: string
name: v1beta1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antreacontrollerinfos.clusterinformation.antrea.tanzu.vmware.com
spec:
group: clusterinformation.antrea.tanzu.vmware.com
names:
kind: AntreaControllerInfo
plural: antreacontrollerinfos
shortNames:
- laci
singular: antreacontrollerinfo
scope: Cluster
versions:
- name: v1beta1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antreacontrollerinfos.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: AntreaControllerInfo
plural: antreacontrollerinfos
shortNames:
- aci
singular: antreacontrollerinfo
scope: Cluster
versions:
- additionalPrinterColumns:
- description: Health status of the Controller
jsonPath: .controllerConditions[?(@.type=='ControllerHealthy')].status
name: Healthy
type: string
- description: Last time the Healthy Condition was updated
jsonPath: .controllerConditions[?(@.type=='ControllerHealthy')].lastHeartbeatTime
name: Last Heartbeat
type: date
- description: Version of the Controller
jsonPath: .version
name: Version
priority: 1
type: string
- description: Number of Agents connected to the Controller
jsonPath: .connectedAgentNum
name: Connected Agents
priority: 1
type: integer
- description: Node on which the Controller is running
jsonPath: .nodeRef.name
name: Node
priority: 1
type: string
- description: Number of Network Policies computed by Controller
jsonPath: .networkPolicyControllerInfo.networkPolicyNum
name: Num Network Policies
priority: 2
type: integer
name: v1beta1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: clustergroups.core.antrea.tanzu.vmware.com
spec:
group: core.antrea.tanzu.vmware.com
names:
kind: ClusterGroup
plural: clustergroups
shortNames:
- lcg
singular: group
scope: Cluster
versions:
- name: v1alpha2
schema:
openAPIV3Schema:
properties:
spec:
properties:
childGroups:
items:
type: string
type: array
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
ipBlocks:
items:
properties:
cidr:
format: cidr
type: string
type: object
type: array
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
serviceReference:
properties:
name:
type: string
namespace:
type: string
type: object
type: object
status:
properties:
conditions:
items:
properties:
lastTransitionTime:
type: string
status:
type: string
type:
type: string
type: object
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: clustergroups.crd.antrea.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: antrea
namespace: kube-system
path: /convert/clustergroup
conversionReviewVersions:
- v1
- v1beta1
group: crd.antrea.io
names:
kind: ClusterGroup
plural: clustergroups
shortNames:
- cg
singular: clustergroup
scope: Cluster
versions:
- name: v1alpha2
schema:
openAPIV3Schema:
properties:
spec:
properties:
childGroups:
items:
type: string
type: array
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
ipBlocks:
items:
properties:
cidr:
format: cidr
type: string
type: object
type: array
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
serviceReference:
properties:
name:
type: string
namespace:
type: string
type: object
type: object
status:
properties:
conditions:
items:
properties:
lastTransitionTime:
type: string
status:
type: string
type:
type: string
type: object
type: array
type: object
type: object
served: true
storage: false
- name: v1alpha3
schema:
openAPIV3Schema:
properties:
spec:
properties:
childGroups:
items:
type: string
type: array
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
ipBlocks:
items:
properties:
cidr:
format: cidr
type: string
type: object
type: array
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
serviceReference:
properties:
name:
type: string
namespace:
type: string
type: object
type: object
status:
properties:
conditions:
items:
properties:
lastTransitionTime:
type: string
status:
type: string
type:
type: string
type: object
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: clusternetworkpolicies.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: ClusterNetworkPolicy
plural: clusternetworkpolicies
shortNames:
- acnp
singular: clusternetworkpolicy
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The Tier to which this ClusterNetworkPolicy belongs to.
jsonPath: .spec.tier
name: Tier
type: string
- description: The Priority of this ClusterNetworkPolicy relative to other policies.
format: float
jsonPath: .spec.priority
name: Priority
type: number
- description: The total number of Nodes that should realize the NetworkPolicy.
format: int32
jsonPath: .status.desiredNodesRealized
name: Desired Nodes
type: number
- description: The number of Nodes that have realized the NetworkPolicy.
format: int32
jsonPath: .status.currentNodesRealized
name: Current Nodes
type: number
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
appliedTo:
items:
properties:
group:
type: string
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
egress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
group:
type: string
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
to:
items:
properties:
fqdn:
type: string
group:
type: string
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
namespaces:
properties:
match:
type: string
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
required:
- action
type: object
type: array
ingress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
group:
type: string
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
from:
items:
properties:
group:
type: string
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
namespaces:
properties:
match:
type: string
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
required:
- action
type: object
type: array
priority:
format: float
maximum: 10000
minimum: 1
type: number
tier:
type: string
required:
- priority
type: object
status:
properties:
currentNodesRealized:
type: integer
desiredNodesRealized:
type: integer
observedGeneration:
type: integer
phase:
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: clusternetworkpolicies.security.antrea.tanzu.vmware.com
spec:
group: security.antrea.tanzu.vmware.com
names:
kind: ClusterNetworkPolicy
plural: clusternetworkpolicies
shortNames:
- lacnp
singular: clusternetworkpolicy
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The Tier to which this ClusterNetworkPolicy belongs to.
jsonPath: .spec.tier
name: Tier
type: string
- description: The Priority of this ClusterNetworkPolicy relative to other policies.
format: float
jsonPath: .spec.priority
name: Priority
type: number
- description: The total number of Nodes that should realize the NetworkPolicy.
format: int32
jsonPath: .status.desiredNodesRealized
name: Desired Nodes
type: number
- description: The number of Nodes that have realized the NetworkPolicy.
format: int32
jsonPath: .status.currentNodesRealized
name: Current Nodes
type: number
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
appliedTo:
items:
properties:
group:
type: string
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
egress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
group:
type: string
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
to:
items:
properties:
group:
type: string
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
namespaces:
properties:
match:
type: string
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
required:
- action
type: object
type: array
ingress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
group:
type: string
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
from:
items:
properties:
group:
type: string
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
namespaces:
properties:
match:
type: string
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
required:
- action
type: object
type: array
priority:
format: float
maximum: 10000
minimum: 1
type: number
tier:
type: string
required:
- priority
type: object
status:
properties:
currentNodesRealized:
type: integer
desiredNodesRealized:
type: integer
observedGeneration:
type: integer
phase:
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: egresses.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: Egress
plural: egresses
shortNames:
- eg
singular: egress
scope: Cluster
versions:
- additionalPrinterColumns:
- description: Specifies the SNAT IP address for the selected workloads.
jsonPath: .spec.egressIP
name: EgressIP
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: The Owner Node of egress IP
jsonPath: .status.egressNode
name: Node
type: string
name: v1alpha2
schema:
openAPIV3Schema:
properties:
spec:
anyOf:
- required:
- egressIP
- required:
- externalIPPool
properties:
appliedTo:
properties:
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
egressIP:
oneOf:
- format: ipv4
- format: ipv6
type: string
externalIPPool:
type: string
required:
- appliedTo
type: object
status:
properties:
egressNode:
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: externalentities.core.antrea.tanzu.vmware.com
spec:
group: core.antrea.tanzu.vmware.com
names:
kind: ExternalEntity
plural: externalentities
shortNames:
- lee
singular: externalentity
scope: Namespaced
versions:
- name: v1alpha2
schema:
openAPIV3Schema:
properties:
spec:
properties:
endpoints:
items:
properties:
ip:
oneOf:
- format: ipv4
- format: ipv6
type: string
name:
type: string
type: object
type: array
externalNode:
type: string
ports:
items:
properties:
name:
type: string
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
type: object
type: object
served: true
storage: true
- name: v1alpha1
schema:
openAPIV3Schema:
type: object
served: false
storage: false
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: externalentities.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: ExternalEntity
plural: externalentities
shortNames:
- ee
singular: externalentity
scope: Namespaced
versions:
- name: v1alpha2
schema:
openAPIV3Schema:
properties:
spec:
properties:
endpoints:
items:
properties:
ip:
oneOf:
- format: ipv4
- format: ipv6
type: string
name:
type: string
type: object
type: array
externalNode:
type: string
ports:
items:
properties:
name:
type: string
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
type: object
type: object
served: true
storage: true
- name: v1alpha1
schema:
openAPIV3Schema:
type: object
served: false
storage: false
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: externalippools.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: ExternalIPPool
plural: externalippools
shortNames:
- eip
singular: externalippool
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The number of total IPs
jsonPath: .status.usage.total
name: Total
type: integer
- description: The number of allocated IPs
jsonPath: .status.usage.used
name: Used
type: integer
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha2
schema:
openAPIV3Schema:
properties:
spec:
properties:
ipRanges:
items:
oneOf:
- required:
- cidr
- required:
- start
- end
properties:
cidr:
format: cidr
type: string
end:
oneOf:
- format: ipv4
- format: ipv6
type: string
start:
oneOf:
- format: ipv4
- format: ipv6
type: string
type: object
type: array
nodeSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
required:
- ipRanges
- nodeSelector
type: object
status:
properties:
usage:
properties:
total:
type: integer
used:
type: integer
type: object
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: networkpolicies.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: NetworkPolicy
plural: networkpolicies
shortNames:
- anp
singular: networkpolicy
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The Tier to which this Antrea NetworkPolicy belongs to.
jsonPath: .spec.tier
name: Tier
type: string
- description: The Priority of this Antrea NetworkPolicy relative to other policies.
format: float
jsonPath: .spec.priority
name: Priority
type: number
- description: The total number of Nodes that should realize the NetworkPolicy.
format: int32
jsonPath: .status.desiredNodesRealized
name: Desired Nodes
type: number
- description: The number of Nodes that have realized the NetworkPolicy.
format: int32
jsonPath: .status.currentNodesRealized
name: Current Nodes
type: number
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
appliedTo:
items:
properties:
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
egress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
to:
items:
properties:
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
fqdn:
type: string
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
required:
- action
type: object
type: array
ingress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
from:
items:
properties:
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
required:
- action
type: object
type: array
priority:
format: float
maximum: 10000
minimum: 1
type: number
tier:
type: string
required:
- priority
type: object
status:
properties:
currentNodesRealized:
type: integer
desiredNodesRealized:
type: integer
observedGeneration:
type: integer
phase:
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: networkpolicies.security.antrea.tanzu.vmware.com
spec:
group: security.antrea.tanzu.vmware.com
names:
kind: NetworkPolicy
plural: networkpolicies
shortNames:
- lanp
singular: networkpolicy
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The Tier to which this Antrea NetworkPolicy belongs to.
jsonPath: .spec.tier
name: Tier
type: string
- description: The Priority of this Antrea NetworkPolicy relative to other policies.
format: float
jsonPath: .spec.priority
name: Priority
type: number
- description: The total number of Nodes that should realize the NetworkPolicy.
format: int32
jsonPath: .status.desiredNodesRealized
name: Desired Nodes
type: number
- description: The number of Nodes that have realized the NetworkPolicy.
format: int32
jsonPath: .status.currentNodesRealized
name: Current Nodes
type: number
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
appliedTo:
items:
properties:
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
egress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
to:
items:
properties:
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
required:
- action
type: object
type: array
ingress:
items:
properties:
action:
enum:
- Allow
- Drop
- Reject
type: string
appliedTo:
items:
properties:
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
enableLogging:
type: boolean
from:
items:
properties:
externalEntitySelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
ipBlock:
properties:
cidr:
format: cidr
type: string
type: object
namespaceSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
podSelector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
values:
items:
type: string
type: array
type: object
type: array
matchLabels:
x-kubernetes-preserve-unknown-fields: true
type: object
type: object
type: array
name:
type: string
ports:
items:
properties:
endPort:
type: integer
port:
x-kubernetes-int-or-string: true
protocol:
type: string
type: object
type: array
required:
- action
type: object
type: array
priority:
format: float
maximum: 10000
minimum: 1
type: number
tier:
type: string
required:
- priority
type: object
status:
properties:
currentNodesRealized:
type: integer
desiredNodesRealized:
type: integer
observedGeneration:
type: integer
phase:
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: tiers.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: Tier
plural: tiers
shortNames:
- tr
singular: tier
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The Priority of this Tier relative to other Tiers.
jsonPath: .spec.priority
name: Priority
type: integer
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
description:
type: string
priority:
maximum: 255
minimum: 0
type: integer
required:
- priority
type: object
type: object
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: tiers.security.antrea.tanzu.vmware.com
spec:
group: security.antrea.tanzu.vmware.com
names:
kind: Tier
plural: tiers
shortNames:
- ltr
singular: tier
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The Priority of this Tier relative to other Tiers.
jsonPath: .spec.priority
name: Priority
type: integer
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
description:
type: string
priority:
maximum: 255
minimum: 0
type: integer
required:
- priority
type: object
type: object
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: traceflows.crd.antrea.io
spec:
group: crd.antrea.io
names:
kind: Traceflow
plural: traceflows
shortNames:
- tf
singular: traceflow
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The phase of the Traceflow.
jsonPath: .status.phase
name: Phase
type: string
- description: The name of the source Pod.
jsonPath: .spec.source.pod
name: Source-Pod
priority: 10
type: string
- description: The name of the destination Pod.
jsonPath: .spec.destination.pod
name: Destination-Pod
priority: 10
type: string
- description: The IP address of the destination.
jsonPath: .spec.destination.ip
name: Destination-IP
priority: 10
type: string
- description: Trace live traffic.
jsonPath: .spec.liveTraffic
name: Live-Traffic
priority: 10
type: boolean
- description: Capture only the dropped packet.
jsonPath: .spec.droppedOnly
name: Dropped-Only
priority: 10
type: boolean
- description: Timeout in seconds.
jsonPath: .spec.timeout
name: Timeout
priority: 10
type: integer
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
destination:
properties:
ip:
oneOf:
- format: ipv4
- format: ipv6
type: string
namespace:
type: string
pod:
type: string
service:
type: string
type: object
droppedOnly:
type: boolean
liveTraffic:
type: boolean
packet:
properties:
ipHeader:
properties:
flags:
type: integer
protocol:
type: integer
srcIP:
oneOf:
- format: ipv4
- format: ipv6
type: string
ttl:
type: integer
type: object
ipv6Header:
properties:
hopLimit:
type: integer
nextHeader:
type: integer
srcIP:
format: ipv6
type: string
type: object
transportHeader:
properties:
icmp:
properties:
id:
type: integer
sequence:
type: integer
type: object
tcp:
properties:
dstPort:
type: integer
flags:
type: integer
srcPort:
type: integer
type: object
udp:
properties:
dstPort:
type: integer
srcPort:
type: integer
type: object
type: object
type: object
source:
properties:
ip:
oneOf:
- format: ipv4
- format: ipv6
type: string
namespace:
type: string
pod:
type: string
type: object
timeout:
type: integer
type: object
status:
properties:
capturedPacket:
properties:
dstIP:
type: string
ipHeader:
properties:
flags:
type: integer
protocol:
type: integer
ttl:
type: integer
type: object
ipv6Header:
properties:
hopLimit:
type: integer
nextHeader:
type: integer
type: object
length:
type: integer
srcIP:
type: string
transportHeader:
properties:
icmp:
properties:
id:
type: integer
sequence:
type: integer
type: object
tcp:
properties:
dstPort:
type: integer
flags:
type: integer
srcPort:
type: integer
type: object
udp:
properties:
dstPort:
type: integer
srcPort:
type: integer
type: object
type: object
type: object
dataplaneTag:
type: integer
phase:
type: string
reason:
type: string
results:
items:
properties:
node:
type: string
observations:
items:
properties:
action:
type: string
component:
type: string
componentInfo:
type: string
dstMAC:
type: string
networkPolicy:
type: string
pod:
type: string
translatedDstIP:
type: string
translatedSrcIP:
type: string
ttl:
type: integer
tunnelDstIP:
type: string
type: object
type: array
role:
type: string
timestamp:
type: integer
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: traceflows.ops.antrea.tanzu.vmware.com
spec:
group: ops.antrea.tanzu.vmware.com
names:
kind: Traceflow
plural: traceflows
shortNames:
- ltf
singular: traceflow
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The phase of the Traceflow.
jsonPath: .status.phase
name: Phase
type: string
- description: The name of the source Pod.
jsonPath: .spec.source.pod
name: Source-Pod
priority: 10
type: string
- description: The name of the destination Pod.
jsonPath: .spec.destination.pod
name: Destination-Pod
priority: 10
type: string
- description: The IP address of the destination.
jsonPath: .spec.destination.ip
name: Destination-IP
priority: 10
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
properties:
spec:
properties:
destination:
properties:
ip:
oneOf:
- format: ipv4
- format: ipv6
type: string
namespace:
type: string
pod:
type: string
service:
type: string
type: object
packet:
properties:
ipHeader:
properties:
flags:
type: integer
protocol:
type: integer
srcIP:
oneOf:
- format: ipv4
- format: ipv6
type: string
ttl:
type: integer
type: object
ipv6Header:
properties:
hopLimit:
type: integer
nextHeader:
type: integer
srcIP:
format: ipv6
type: string
type: object
transportHeader:
properties:
icmp:
properties:
id:
type: integer
sequence:
type: integer
type: object
tcp:
properties:
dstPort:
type: integer
flags:
type: integer
srcPort:
type: integer
type: object
udp:
properties:
dstPort:
type: integer
srcPort:
type: integer
type: object
type: object
type: object
source:
properties:
namespace:
type: string
pod:
type: string
required:
- pod
- namespace
type: object
required:
- source
type: object
status:
properties:
dataplaneTag:
type: integer
phase:
type: string
reason:
type: string
results:
items:
properties:
node:
type: string
observations:
items:
properties:
action:
type: string
component:
type: string
componentInfo:
type: string
dstMAC:
type: string
networkPolicy:
type: string
pod:
type: string
translatedDstIP:
type: string
translatedSrcIP:
type: string
ttl:
type: integer
tunnelDstIP:
type: string
type: object
type: array
role:
type: string
timestamp:
type: integer
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antctl
namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-agent
namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-controller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
rbac.authorization.k8s.io/aggregate-to-admin: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
addonmanager.kubernetes.io/mode: "Reconcile"
name: aggregate-antrea-clustergroups-edit
rules:
- apiGroups:
- core.antrea.tanzu.vmware.com
resources:
- clustergroups
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- crd.antrea.io
resources:
- clustergroups
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
rbac.authorization.k8s.io/aggregate-to-view: "true"
addonmanager.kubernetes.io/mode: "Reconcile"
name: aggregate-antrea-clustergroups-view
rules:
- apiGroups:
- core.antrea.tanzu.vmware.com
resources:
- clustergroups
verbs:
- get
- list
- watch
- apiGroups:
- crd.antrea.io
resources:
- clustergroups
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
rbac.authorization.k8s.io/aggregate-to-admin: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
addonmanager.kubernetes.io/mode: "Reconcile"
name: aggregate-antrea-policies-edit
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
resources:
- clusternetworkpolicies
- networkpolicies
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- crd.antrea.io
resources:
- clusternetworkpolicies
- networkpolicies
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
rbac.authorization.k8s.io/aggregate-to-view: "true"
addonmanager.kubernetes.io/mode: "Reconcile"
name: aggregate-antrea-policies-view
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
resources:
- clusternetworkpolicies
- networkpolicies
verbs:
- get
- list
- watch
- apiGroups:
- crd.antrea.io
resources:
- clusternetworkpolicies
- networkpolicies
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
rbac.authorization.k8s.io/aggregate-to-admin: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
addonmanager.kubernetes.io/mode: "Reconcile"
name: aggregate-traceflows-edit
rules:
- apiGroups:
- ops.antrea.tanzu.vmware.com
resources:
- traceflows
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- crd.antrea.io
resources:
- traceflows
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
rbac.authorization.k8s.io/aggregate-to-view: "true"
addonmanager.kubernetes.io/mode: "Reconcile"
name: aggregate-traceflows-view
rules:
- apiGroups:
- ops.antrea.tanzu.vmware.com
resources:
- traceflows
verbs:
- get
- list
- watch
- apiGroups:
- crd.antrea.io
resources:
- traceflows
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antctl
rules:
- apiGroups:
- controlplane.antrea.tanzu.vmware.com
- controlplane.antrea.io
resources:
- networkpolicies
- appliedtogroups
- addressgroups
verbs:
- get
- list
- apiGroups:
- stats.antrea.tanzu.vmware.com
- stats.antrea.io
resources:
- networkpolicystats
- antreaclusternetworkpolicystats
- antreanetworkpolicystats
verbs:
- get
- list
- apiGroups:
- system.antrea.tanzu.vmware.com
- system.antrea.io
resources:
- controllerinfos
- agentinfos
verbs:
- get
- apiGroups:
- system.antrea.tanzu.vmware.com
- system.antrea.io
resources:
- supportbundles
verbs:
- get
- post
- apiGroups:
- system.antrea.tanzu.vmware.com
- system.antrea.io
resources:
- supportbundles/download
verbs:
- get
- nonResourceURLs:
- /agentinfo
- /addressgroups
- /appliedtogroups
- /loglevel
- /networkpolicies
- /ovsflows
- /ovstracing
- /podinterfaces
- /featuregates
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-agent
rules:
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- watch
- list
- patch
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- watch
- list
- patch
- apiGroups:
- ""
resources:
- endpoints
- services
verbs:
- get
- watch
- list
- apiGroups:
- discovery.k8s.io
resources:
- endpointslices
verbs:
- get
- watch
- list
- apiGroups:
- clusterinformation.antrea.tanzu.vmware.com
- crd.antrea.io
resources:
- antreaagentinfos
verbs:
- get
- create
- update
- delete
- apiGroups:
- controlplane.antrea.tanzu.vmware.com
- controlplane.antrea.io
resources:
- networkpolicies
- appliedtogroups
- addressgroups
verbs:
- get
- watch
- list
- apiGroups:
- controlplane.antrea.io
resources:
- egressgroups
verbs:
- get
- watch
- list
- apiGroups:
- controlplane.antrea.tanzu.vmware.com
- controlplane.antrea.io
resources:
- nodestatssummaries
verbs:
- create
- apiGroups:
- controlplane.antrea.tanzu.vmware.com
- controlplane.antrea.io
resources:
- networkpolicies/status
verbs:
- create
- get
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
- apiGroups:
- ""
resourceNames:
- extension-apiserver-authentication
resources:
- configmaps
verbs:
- get
- list
- watch
- apiGroups:
- ""
resourceNames:
- antrea-ca
resources:
- configmaps
verbs:
- get
- watch
- list
- apiGroups:
- ops.antrea.tanzu.vmware.com
- crd.antrea.io
resources:
- traceflows
- traceflows/status
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- crd.antrea.io
resources:
- egresses
verbs:
- get
- watch
- list
- apiGroups:
- crd.antrea.io
resources:
- egresses/status
verbs:
- update
- apiGroups:
- crd.antrea.io
resources:
- externalippools
verbs:
- get
- watch
- list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-cluster-identity-reader
rules:
- apiGroups:
- ""
resourceNames:
- antrea-cluster-identity
resources:
- configmaps
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-controller
rules:
- apiGroups:
- ""
resources:
- nodes
- pods
- namespaces
- services
- configmaps
verbs:
- get
- watch
- list
- apiGroups:
- networking.k8s.io
resources:
- networkpolicies
verbs:
- get
- watch
- list
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- update
- apiGroups:
- ""
resourceNames:
- extension-apiserver-authentication
resources:
- configmaps
verbs:
- get
- list
- watch
- apiGroups:
- ""
resourceNames:
- antrea-ca
- antrea-cluster-identity
resources:
- configmaps
verbs:
- get
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- apiGroups:
- apiregistration.k8s.io
resourceNames:
- v1alpha1.stats.antrea.tanzu.vmware.com
- v1beta1.system.antrea.tanzu.vmware.com
- v1beta2.controlplane.antrea.tanzu.vmware.com
- v1alpha1.stats.antrea.io
- v1beta1.system.antrea.io
- v1beta2.controlplane.antrea.io
resources:
- apiservices
verbs:
- get
- update
- apiGroups:
- apiregistration.k8s.io
resourceNames:
- v1beta1.networking.antrea.tanzu.vmware.com
- v1beta1.controlplane.antrea.tanzu.vmware.com
resources:
- apiservices
verbs:
- delete
- apiGroups:
- admissionregistration.k8s.io
resourceNames:
- crdmutator.antrea.tanzu.vmware.com
- crdvalidator.antrea.tanzu.vmware.com
- labelsmutator.antrea.io
- crdmutator.antrea.io
- crdvalidator.antrea.io
resources:
- mutatingwebhookconfigurations
- validatingwebhookconfigurations
verbs:
- get
- update
- apiGroups:
- crd.antrea.io
resources:
- antreacontrollerinfos
verbs:
- get
- create
- update
- delete
- apiGroups:
- crd.antrea.io
resources:
- antreaagentinfos
verbs:
- list
- delete
- apiGroups:
- crd.antrea.io
resources:
- clusternetworkpolicies
- networkpolicies
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- crd.antrea.io
resources:
- clusternetworkpolicies/status
- networkpolicies/status
verbs:
- update
- apiGroups:
- crd.antrea.io
resources:
- tiers
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- crd.antrea.io
resources:
- traceflows
- traceflows/status
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- crd.antrea.io
resources:
- externalentities
- clustergroups
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- crd.antrea.io
resources:
- clustergroups/status
verbs:
- update
- apiGroups:
- crd.antrea.io
resources:
- egresses
verbs:
- get
- watch
- list
- update
- patch
- apiGroups:
- crd.antrea.io
resources:
- externalippools
verbs:
- get
- watch
- list
- apiGroups:
- crd.antrea.io
resources:
- externalippools/status
verbs:
- update
- apiGroups:
- clusterinformation.antrea.tanzu.vmware.com
resources:
- antreacontrollerinfos
verbs:
- get
- create
- update
- delete
- apiGroups:
- clusterinformation.antrea.tanzu.vmware.com
resources:
- antreaagentinfos
verbs:
- list
- delete
- apiGroups:
- security.antrea.tanzu.vmware.com
resources:
- clusternetworkpolicies
- networkpolicies
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- security.antrea.tanzu.vmware.com
resources:
- clusternetworkpolicies/status
- networkpolicies/status
verbs:
- update
- apiGroups:
- security.antrea.tanzu.vmware.com
resources:
- tiers
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- ops.antrea.tanzu.vmware.com
resources:
- traceflows
- traceflows/status
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- core.antrea.tanzu.vmware.com
resources:
- externalentities
- clustergroups
verbs:
- get
- watch
- list
- update
- patch
- create
- delete
- apiGroups:
- core.antrea.tanzu.vmware.com
resources:
- clustergroups/status
verbs:
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antctl
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: antctl
subjects:
- kind: ServiceAccount
name: antctl
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-agent
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: antrea-agent
subjects:
- kind: ServiceAccount
name: antrea-agent
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-controller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: antrea-controller
subjects:
- kind: ServiceAccount
name: antrea-controller
namespace: kube-system
---
apiVersion: v1
data:
antrea-agent.conf: |
# FeatureGates is a map of feature names to bools that enable or disable experimental features.
featureGates:
# Enable AntreaProxy which provides ServiceLB for in-cluster Services in antrea-agent.
# It should be enabled on Windows, otherwise NetworkPolicy will not take effect on
# Service traffic.
AntreaProxy: true
# Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice
# API version v1beta1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled,
# this flag will not take effect.
# EndpointSlice: false
# Enable traceflow which provides packet tracing feature to diagnose network issue.
# Traceflow: true
# Enable NodePortLocal feature to make the pods reachable externally through NodePort
# NodePortLocal: false
# Enable Antrea ClusterNetworkPolicy feature to complement K8s NetworkPolicy for cluster admins
# to define security policies which apply to the entire cluster, and Antrea NetworkPolicy
# feature that supports priorities, rule actions and externalEntities in the future.
# AntreaPolicy: true
# Enable flowexporter which exports polled conntrack connections as IPFIX flow records from each
# agent to a configured collector.
# FlowExporter: false
# Enable collecting and exposing NetworkPolicy statistics.
# NetworkPolicyStats: true
# Enable controlling SNAT IPs of Pod egress traffic.
# Egress: false
# Name of the OpenVSwitch bridge antrea-agent will create and use.
# Make sure it doesn't conflict with your existing OpenVSwitch bridges.
#ovsBridge: br-int
# Datapath type to use for the OpenVSwitch bridge created by Antrea. Supported values are:
# - system
# - netdev
# 'system' is the default value and corresponds to the kernel datapath. Use 'netdev' to run
# OVS in userspace mode. Userspace mode requires the tun device driver to be available.
#ovsDatapathType: system
# Name of the interface antrea-agent will create and use for host <--> pod communication.
# Make sure it doesn't conflict with your existing interfaces.
#hostGateway: antrea-gw0
# Determines how traffic is encapsulated. It has the following options:
# encap(default): Inter-node Pod traffic is always encapsulated and Pod to external network
# traffic is SNAT'd.
# noEncap: Inter-node Pod traffic is not encapsulated; Pod to external network traffic is
# SNAT'd if noSNAT is not set to true. Underlying network must be capable of
# supporting Pod traffic across IP subnets.
# hybrid: noEncap if source and destination Nodes are on the same subnet, otherwise encap.
# networkPolicyOnly: Antrea enforces NetworkPolicy only, and utilizes CNI chaining and delegates Pod
# IPAM and connectivity to the primary CNI.
#
trafficEncapMode: {{ContainerConfig "trafficEncapMode"}}
# Whether or not to SNAT (using the Node IP) the egress traffic from a Pod to the external network.
# This option is for the noEncap traffic mode only, and the default value is false. In the noEncap
# mode, if the cluster's Pod CIDR is reachable from the external network, then the Pod traffic to
# the external network needs not be SNAT'd. In the networkPolicyOnly mode, antrea-agent never
# performs SNAT and this option will be ignored; for other modes it must be set to false.
#noSNAT: false
# Tunnel protocols used for encapsulating traffic across Nodes. If WireGuard is enabled in trafficEncryptionMode,
# this option will not take effect. Supported values:
# - geneve (default)
# - vxlan
# - gre
# - stt
#tunnelType: geneve
# Determines how tunnel traffic is encrypted. Currently encryption only works with encap mode.
# It has the following options:
# - none (default): Inter-node Pod traffic will not be encrypted.
# - ipsec: Enable IPSec (ESP) encryption for Pod traffic across Nodes. Antrea uses
# Preshared Key (PSK) for IKE authentication. When IPSec tunnel is enabled,
# the PSK value must be passed to Antrea Agent through an environment
# variable: ANTREA_IPSEC_PSK.
# - wireGuard: Enable WireGuard for tunnel traffic encryption.
#trafficEncryptionMode: none
# Default MTU to use for the host gateway interface and the network interface of each Pod.
# If omitted, antrea-agent will discover the MTU of the Node's primary interface and
# also adjust MTU to accommodate for tunnel encapsulation overhead (if applicable).
#defaultMTU: 0
# wireGuard specifies WireGuard related configurations.
wireGuard:
# The port for WireGuard to receive traffic.
# port: 51820
# ClusterIP CIDR range for Services. It's required when AntreaProxy is not enabled, and should be
# set to the same value as the one specified by --service-cluster-ip-range for kube-apiserver. When
# AntreaProxy is enabled, this parameter is not needed and will be ignored if provided.
serviceCIDR: {{ContainerConfig "serviceCidr"}}
# ClusterIP CIDR range for IPv6 Services. It's required when using kube-proxy to provide IPv6 Service in a Dual-Stack
# cluster or an IPv6 only cluster. The value should be the same as the configuration for kube-apiserver specified by
# --service-cluster-ip-range. When AntreaProxy is enabled, this parameter is not needed.
# No default value for this field.
#serviceCIDRv6:
# The port for the antrea-agent APIServer to serve on.
# Note that if it's set to another value, the `containerPort` of the `api` port of the
# `antrea-agent` container must be set to the same value.
#apiPort: 10350
# Enable metrics exposure via Prometheus. Initializes Prometheus metrics listener.
#enablePrometheusMetrics: true
# Provide the IPFIX collector address as a string with format <HOST>:[<PORT>][:<PROTO>].
# HOST can either be the DNS name or the IP of the Flow Collector. For example,
# "flow-aggregator.flow-aggregator.svc" can be provided as DNS name to connect
# to the Antrea Flow Aggregator service. If IP, it can be either IPv4 or IPv6.
# However, IPv6 address should be wrapped with [].
# If PORT is empty, we default to 4739, the standard IPFIX port.
# If no PROTO is given, we consider "tls" as default. We support "tls", "tcp" and
# "udp" protocols. "tls" is used for securing communication between flow exporter and
# flow aggregator.
#flowCollectorAddr: "flow-aggregator.flow-aggregator.svc:4739:tls"
# Provide flow poll interval as a duration string. This determines how often the
# flow exporter dumps connections from the conntrack module. Flow poll interval
# should be greater than or equal to 1s (one second).
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
#flowPollInterval: "5s"
# Provide the active flow export timeout, which is the timeout after which a flow
# record is sent to the collector for active flows. Thus, for flows with a continuous
# stream of packets, a flow record will be exported to the collector once the elapsed
# time since the last export event is equal to the value of this timeout.
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
#activeFlowExportTimeout: "30s"
# Provide the idle flow export timeout, which is the timeout after which a flow
# record is sent to the collector for idle flows. A flow is considered idle if no
# packet matching this flow has been observed since the last export event.
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
#idleFlowExportTimeout: "15s"
# Provide the port range used by NodePortLocal. When the NodePortLocal feature is enabled, a port from that range will be assigned
# whenever a Pod's container defines a specific port to be exposed (each container can define a list of ports as pod.spec.containers[].ports),
# and all Node traffic directed to that port will be forwarded to the Pod.
#nplPortRange: 61000-62000
# Provide the address of Kubernetes apiserver, to override any value provided in kubeconfig or InClusterConfig.
# Defaults to "". It must be a host string, a host:port pair, or a URL to the base of the apiserver.
#kubeAPIServerOverride: ""
# Comma-separated list of Cipher Suites. If omitted, the default Go Cipher Suites will be used.
# https://golang.org/pkg/crypto/tls/#pkg-constants
# Note that TLS1.3 Cipher Suites cannot be added to the list. But the apiserver will always
# prefer TLS1.3 Cipher Suites whenever possible.
#tlsCipherSuites:
# TLS min version from: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13.
#tlsMinVersion:
# The name of the interface on Node which is used for tunneling or routing the traffic across Nodes.
# If there are multiple IP addresses configured on the interface, the first one is used.
# The interface configured with Node IP is used if this parameter is not set.
#transportInterface:
antrea-cni.conflist: |
{
"cniVersion":"0.3.0",
"name": "antrea",
"plugins": [
{
"type": "antrea",
"ipam": {
"type": "host-local"
}
},
{
"type": "portmap",
"capabilities": {"portMappings": true}
},
{
"type": "bandwidth",
"capabilities": {"bandwidth": true}
}
]
}
antrea-controller.conf: |
# FeatureGates is a map of feature names to bools that enable or disable experimental features.
featureGates:
# Enable traceflow which provides packet tracing feature to diagnose network issue.
# Traceflow: true
# Enable Antrea ClusterNetworkPolicy feature to complement K8s NetworkPolicy for cluster admins
# to define security policies which apply to the entire cluster, and Antrea NetworkPolicy
# feature that supports priorities, rule actions and externalEntities in the future.
# AntreaPolicy: true
# Enable collecting and exposing NetworkPolicy statistics.
# NetworkPolicyStats: true
# Enable controlling SNAT IPs of Pod egress traffic.
# Egress: false
# The port for the antrea-controller APIServer to serve on.
# Note that if it's set to another value, the `containerPort` of the `api` port of the
# `antrea-controller` container must be set to the same value.
#apiPort: 10349
# Enable metrics exposure via Prometheus. Initializes Prometheus metrics listener.
#enablePrometheusMetrics: true
# Indicates whether to use auto-generated self-signed TLS certificate.
# If false, A Secret named "antrea-controller-tls" must be provided with the following keys:
# ca.crt: <CA certificate>
# tls.crt: <TLS certificate>
# tls.key: <TLS private key>
# And the Secret must be mounted to directory "/var/run/antrea/antrea-controller-tls" of the
# antrea-controller container.
#selfSignedCert: true
# Comma-separated list of Cipher Suites. If omitted, the default Go Cipher Suites will be used.
# https://golang.org/pkg/crypto/tls/#pkg-constants
# Note that TLS1.3 Cipher Suites cannot be added to the list. But the apiserver will always
# prefer TLS1.3 Cipher Suites whenever possible.
#tlsCipherSuites:
# TLS min version from: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13.
#tlsMinVersion:
# If Antrea is upgraded from version <= v0.13 and legacy CRDs are used, this option should be
# enabled, otherwise the CRDs created with the legacy API groups will not take any effect and
# work as expected. When the mirroring is enabled, if a legacy CRD is created with legacy API
# groups, mirroring-controller will create a new CRD with the Spec and Labels from the legacy
# CRD. Afterwards, the modification of Spec and Label in legacy CRD will be synchronized to new
# CRD automatically. In addition, the modification of Status in new CRD will also be synchronized
# to legacy CRD automatically. If a legacy CRD is deleted, the corresponding new CRD will be deleted.
# Note that: to decouple a new CRD from the corresponding legacy CRD, the legacy CRD should be
# annotated with "crd.antrea.io/stop-mirror". Afterwards, updates to the legacy CRDs will no
# longer be reflected in the new CRD, and all CRUD operations should be done through the new
# API groups. After adding the annotation, legacy CRDs can be deleted safely without impacting
# new CRDs.
#legacyCRDMirroring: true
kind: ConfigMap
metadata:
annotations: {}
labels:
app: antrea
addonmanager.kubernetes.io/mode: "EnsureExists"
name: antrea-config-mc8h75hbgg
namespace: kube-system
---
apiVersion: v1
kind: Service
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea
namespace: kube-system
spec:
ports:
- port: 443
protocol: TCP
targetPort: api
selector:
app: antrea
component: antrea-controller
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: antrea
component: antrea-controller
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-controller
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: antrea
component: antrea-controller
strategy:
type: Recreate
template:
metadata:
labels:
app: antrea
component: antrea-controller
spec:
containers:
- args:
- --config
- /etc/antrea/antrea-controller.conf
- --logtostderr=false
- --log_dir=/var/log/antrea
- --alsologtostderr
- --log_file_max_size=100
- --log_file_max_num=4
- --v=0
command:
- antrea-controller
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: SERVICEACCOUNT_NAME
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
- name: ANTREA_CONFIG_MAP_NAME
value: antrea-config-mc8h75hbgg
image: {{ContainerImage "antrea-controller"}}
livenessProbe:
failureThreshold: 5
httpGet:
host: localhost
path: /livez
port: api
scheme: HTTPS
periodSeconds: 10
timeoutSeconds: 5
name: antrea-controller
ports:
- containerPort: 10349
name: api
protocol: TCP
readinessProbe:
failureThreshold: 5
httpGet:
host: localhost
path: /readyz
port: api
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
resources:
requests:
cpu: {{ContainerCPUReqs "antrea-controller"}}
volumeMounts:
- mountPath: /etc/antrea/antrea-controller.conf
name: antrea-config
readOnly: true
subPath: antrea-controller.conf
- mountPath: /var/run/antrea/antrea-controller-tls
name: antrea-controller-tls
- mountPath: /var/log/antrea
name: host-var-log-antrea
hostNetwork: true
nodeSelector:
kubernetes.io/os: linux
priorityClassName: system-cluster-critical
serviceAccountName: antrea-controller
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- key: node-role.kubernetes.io/master
operator: "Exists"
effect: NoSchedule
- key: node-role.kubernetes.io/control-plane
operator: "Exists"
effect: NoSchedule
volumes:
- configMap:
name: antrea-config-mc8h75hbgg
name: antrea-config
- name: antrea-controller-tls
secret:
defaultMode: 256
optional: true
secretName: antrea-controller-tls
- hostPath:
path: /var/log/antrea
type: DirectoryOrCreate
name: host-var-log-antrea
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: v1alpha1.stats.antrea.io
spec:
group: stats.antrea.io
groupPriorityMinimum: 100
service:
name: antrea
namespace: kube-system
version: v1alpha1
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: v1alpha1.stats.antrea.tanzu.vmware.com
spec:
group: stats.antrea.tanzu.vmware.com
groupPriorityMinimum: 100
service:
name: antrea
namespace: kube-system
version: v1alpha1
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: v1beta1.system.antrea.io
spec:
group: system.antrea.io
groupPriorityMinimum: 100
service:
name: antrea
namespace: kube-system
version: v1beta1
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: v1beta1.system.antrea.tanzu.vmware.com
spec:
group: system.antrea.tanzu.vmware.com
groupPriorityMinimum: 100
service:
name: antrea
namespace: kube-system
version: v1beta1
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: v1beta2.controlplane.antrea.io
spec:
group: controlplane.antrea.io
groupPriorityMinimum: 100
service:
name: antrea
namespace: kube-system
version: v1beta2
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: v1beta2.controlplane.antrea.tanzu.vmware.com
spec:
group: controlplane.antrea.tanzu.vmware.com
groupPriorityMinimum: 100
service:
name: antrea
namespace: kube-system
version: v1beta2
versionPriority: 100
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: antrea
component: antrea-agent
addonmanager.kubernetes.io/mode: "Reconcile"
name: antrea-agent
namespace: kube-system
spec:
selector:
matchLabels:
app: antrea
component: antrea-agent
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: antrea-agent
labels:
app: antrea
component: antrea-agent
spec:
containers:
- args:
- --config
- /etc/antrea/antrea-agent.conf
- --logtostderr=false
- --log_dir=/var/log/antrea
- --alsologtostderr
- --log_file_max_size=100
- --log_file_max_num=4
- --v=0
command:
- antrea-agent
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
image: {{ContainerImage "antrea-agent"}}
livenessProbe:
exec:
command:
- /bin/sh
- -c
- container_liveness_probe agent
failureThreshold: 5
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
name: antrea-agent
ports:
- containerPort: 10350
name: api
protocol: TCP
readinessProbe:
failureThreshold: 8
httpGet:
host: localhost
path: /readyz
port: api
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
resources:
requests:
cpu: {{ContainerCPUReqs "antrea-agent"}}
securityContext:
privileged: true
volumeMounts:
- mountPath: /etc/antrea/antrea-agent.conf
name: antrea-config
readOnly: true
subPath: antrea-agent.conf
- mountPath: /var/run/antrea
name: host-var-run-antrea
- mountPath: /var/run/openvswitch
name: host-var-run-antrea
subPath: openvswitch
- mountPath: /var/lib/cni
name: host-var-run-antrea
subPath: cni
- mountPath: /var/log/antrea
name: host-var-log-antrea
- mountPath: /host/proc
name: host-proc
readOnly: true
- mountPath: /host/var/run/netns
mountPropagation: HostToContainer
name: host-var-run-netns
readOnly: true
- mountPath: /run/xtables.lock
name: xtables-lock
- args:
- --log_file_max_size=100
- --log_file_max_num=4
command:
- start_ovs
image: {{ContainerImage "antrea-ovs"}}
livenessProbe:
exec:
command:
- /bin/sh
- -c
- timeout 10 container_liveness_probe ovs
failureThreshold: 5
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 10
name: antrea-ovs
resources:
requests:
cpu: {{ContainerCPUReqs "antrea-ovs"}}
securityContext:
capabilities:
add:
- SYS_NICE
- NET_ADMIN
- SYS_ADMIN
- IPC_LOCK
volumeMounts:
- mountPath: /var/run/openvswitch
name: host-var-run-antrea
subPath: openvswitch
- mountPath: /var/log/openvswitch
name: host-var-log-antrea
subPath: openvswitch
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
initContainers:
- command:
- install_cni
image: {{ContainerImage "install-cni"}}
name: install-cni
command: [{{ContainerConfig "installCniCmd"}}]
resources:
requests:
cpu: {{ContainerCPUReqs "install-cni"}}
securityContext:
capabilities:
add:
- SYS_MODULE
volumeMounts:
- mountPath: /etc/antrea/antrea-cni.conflist
name: antrea-config
readOnly: true
subPath: antrea-cni.conflist
- mountPath: /host/etc/cni/net.d
name: host-cni-conf
- mountPath: /host/opt/cni/bin
name: host-cni-bin
- mountPath: /lib/modules
name: host-lib-modules
readOnly: true
- mountPath: /var/run/antrea
name: host-var-run-antrea
nodeSelector:
kubernetes.io/os: linux
priorityClassName: system-node-critical
serviceAccountName: antrea-agent
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- effect: NoSchedule
operator: Exists
- effect: NoExecute
operator: Exists
volumes:
- configMap:
name: antrea-config-mc8h75hbgg
name: antrea-config
- hostPath:
path: /etc/cni/net.d
name: host-cni-conf
- hostPath:
path: /opt/cni/bin
name: host-cni-bin
- hostPath:
path: /proc
name: host-proc
- hostPath:
path: /var/run/netns
name: host-var-run-netns
- hostPath:
path: /var/run/antrea
type: DirectoryOrCreate
name: host-var-run-antrea
- hostPath:
path: /var/log/antrea
type: DirectoryOrCreate
name: host-var-log-antrea
- hostPath:
path: /lib/modules
name: host-lib-modules
- hostPath:
path: /run/xtables.lock
type: FileOrCreate
name: xtables-lock
updateStrategy:
type: RollingUpdate
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: crdmutator.antrea.io
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /mutate/acnp
name: acnpmutator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- clusternetworkpolicies
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /mutate/anp
name: anpmutator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- networkpolicies
scope: Namespaced
sideEffects: None
timeoutSeconds: 5
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: crdmutator.antrea.tanzu.vmware.com
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /mutate/acnp
name: acnpmutator.antrea.tanzu.vmware.com
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- clusternetworkpolicies
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /mutate/anp
name: anpmutator.antrea.tanzu.vmware.com
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- networkpolicies
scope: Namespaced
sideEffects: None
timeoutSeconds: 5
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: crdvalidator.antrea.io
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/tier
name: tiervalidator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
- DELETE
resources:
- tiers
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/acnp
name: acnpvalidator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- clusternetworkpolicies
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/anp
name: anpvalidator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- networkpolicies
scope: Namespaced
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/clustergroup
name: clustergroupvalidator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha3
- v1alpha2
operations:
- CREATE
- UPDATE
resources:
- clustergroups
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/externalippool
name: externalippoolvalidator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha2
operations:
- UPDATE
resources:
- externalippools
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/egress
name: egressvalidator.antrea.io
rules:
- apiGroups:
- crd.antrea.io
apiVersions:
- v1alpha2
operations:
- CREATE
- UPDATE
resources:
- egresses
scope: Cluster
sideEffects: None
timeoutSeconds: 5
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
labels:
app: antrea
addonmanager.kubernetes.io/mode: "Reconcile"
name: crdvalidator.antrea.tanzu.vmware.com
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/tier
name: tiervalidator.antrea.tanzu.vmware.com
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
- DELETE
resources:
- tiers
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/acnp
name: acnpvalidator.antrea.tanzu.vmware.com
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- clusternetworkpolicies
scope: Cluster
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/anp
name: anpvalidator.antrea.tanzu.vmware.com
rules:
- apiGroups:
- security.antrea.tanzu.vmware.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- networkpolicies
scope: Namespaced
sideEffects: None
timeoutSeconds: 5
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: antrea
namespace: kube-system
path: /validate/clustergroup
name: clustergroupvalidator.antrea.tanzu.vmware.com
rules:
- apiGroups:
- core.antrea.tanzu.vmware.com
apiVersions:
- v1alpha2
operations:
- CREATE
- UPDATE
- DELETE
resources:
- clustergroups
scope: Cluster
sideEffects: None
timeoutSeconds: 5