Created
October 16, 2025 16:17
-
-
Save matjahs/420a6a30e4d03fd6618718a751eef849 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| # Source: cilium/templates/cilium-secrets-namespace.yaml | |
| apiVersion: v1 | |
| kind: Namespace | |
| metadata: | |
| name: "cilium-secrets" | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| annotations: | |
| --- | |
| # Source: cilium/templates/cilium-agent/serviceaccount.yaml | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: "cilium" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-envoy/serviceaccount.yaml | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: "cilium-envoy" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-operator/serviceaccount.yaml | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: "cilium-operator" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-ca-secret.yaml | |
| apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| name: cilium-ca | |
| namespace: kube-system | |
| data: | |
| ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lRS3ltNXFZOEVzeHlValBRWlJZZGZtekFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsRGFXeHBkVzBnUTBFd0hoY05NalV4TURFMk1UWXhNakEyV2hjTk1qZ3hNREUxTVRZeApNakEyV2pBVU1SSXdFQVlEVlFRREV3bERhV3hwZFcwZ1EwRXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR3QXdnZ0VLQW9JQkFRREtCUUNhd01CaXM5R3g5VjU3MUxwWS9hV3ordmVFTmk0Vm1FeTNNTlFPR01vSlladFIKeEFucVA5SXlxUU1XWTR3UVBZOThydWpJOC9lVmZReFVxUnpLZ1FxWFloUGljQ1NDQWxGYmNTOWJkMkdtQzA4MwpROStGSjhpMlJWOXViTWtXZHA5UDg4Y3RvR2U2a3FKM2Y2VnM0UE83ZVJLcWVZVUNBMzVPMjM2M29YWHlSbEszCjdZWktXSTlwamJ5VWFubzBUYUFoRzJmUmtWWjZ5anlLa0lNenpYU0d3TE9QVyt3QmxRM1pSWmRSVFg4dXVYZ1gKYktSemxUREw3RzY5ZzAvMXlhd2ZxRit4U0IwdDNUcmVrLzBPRG5qa3luTEdCb3NZUFpZRHJQTEVwV05nV2JtWgpBQTVZUVdXQytXYmJtNUZQSGtGRUN6NjZvVTFaYUpUOGhXVERBZ01CQUFHallUQmZNQTRHQTFVZER3RUIvd1FFCkF3SUNwREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXcKQXdFQi96QWRCZ05WSFE0RUZnUVVnbjhScFpjcmRQaXl5WXkrY0NZNFpoYkJkRzR3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFHcll2TWd3OWwxTWxRd1lJK0VxdjZjRHBlVXM4OVpPVk95Z0J5aFcwVGFhdjQ2R0p2cThPWnJ5CmpqRmZZa3ZNb3FtbE82MUFPNjBDOHRXSDJYZmE5UjJwMC9iY2w1WlFGMTNaYi9WcFFUZW9CVjdOZ1U2Yi8wbHYKZFRIQ0daYzkyc3BrTjdzL0hwOTB0RXovS2VuNHVLL2R1WGRyU0MwcUZRUTFDTFVYVE95TVRKMDNRNVltdHk1UAo1WUM2V0hURFl1YTVhaldEa1B3eE9UMjlmbFpITFoySTUyZVFqckI2WUZjTWNodUI4QmYzTlh4bzRXdDROZUFUCk1jcFdyNGd6T3ZNVjBFK2c1N256MU5ScU5Fbkk0MTh6ZC9aOXNiUUtVbHJFcTFKdlVXVmRlcDRBdWFBQ21UYXMKUzlrY1ErMEtCbHErSFlmWkk0NllxamwxZFMwZm1nTT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= | |
| ca.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBeWdVQW1zREFZclBSc2ZWZWU5UzZXUDJscy9yM2hEWXVGWmhNdHpEVURoaktDV0diClVjUUo2ai9TTXFrREZtT01FRDJQZks3b3lQUDNsWDBNVktrY3lvRUtsMklUNG5Ba2dnSlJXM0V2VzNkaHBndFAKTjBQZmhTZkl0a1ZmYm16SkZuYWZUL1BITGFCbnVwS2lkMytsYk9EenUza1Nxbm1GQWdOK1R0dCt0NkYxOGtaUwp0KzJHU2xpUGFZMjhsR3A2TkUyZ0lSdG4wWkZXZXNvOGlwQ0RNODEwaHNDemoxdnNBWlVOMlVXWFVVMS9Mcmw0CkYyeWtjNVV3eSt4dXZZTlA5Y21zSDZoZnNVZ2RMZDA2M3BQOURnNTQ1TXB5eGdhTEdEMldBNnp5eEtWallGbTUKbVFBT1dFRmxndmxtMjV1UlR4NUJSQXMrdXFGTldXaVUvSVZrd3dJREFRQUJBb0lCQUJVSnlsTlRhWFdkOW1PTApBd2p3VVd1OUZvbVV4RHdQakdNUlZrUHBvTnZLOXhkZEE5alRDcGxMaGk5aWJJRGpZdzI1NjN4M2xxUit5N1RVCnJma1BGNEY3U01nVkhhOENNTHNkVksycUx0MWVwRnV2WjlPQWpRR0g4QjRUUVduMWlFZC9tUDJ4akhlUzhkcDcKTk5JdkIrSTcxd1lhQ0xpYUtTRFpqa2pXRU84OGdPYkZKQTN4ZUFtRkJoaHZTSEhKTzYwN0J1QTVFaGphVFRETApNZkc2d0RTTm9iNEJPRE1wVjN2bUh1WlBtd0Z6a2NESkxlWFpiS2U4MW9FUEhtNXhma0VZOEFkdWhSWUFkMFIxClI0cnVraHNMRUhSdERXQzZ0Q3oyR293SlNYSFpqbWpJSisvMjFZZjJHVnl5ek9pZUxHc1lFcXZMbDN1VE9kK0EKWE5lK0kwa0NnWUVBMStHWWN5TVh5dHduWUNLL0ZhaDI1WTV3SEsrVjRUa2wvTlFIdWVsYUNrbUZOR2tlb25Ocwpob3VCMFVSYlczWGQ0eVQ1d3FOdkdaWEo4aXNEaFVDdTl4am1nVWd1d1RNVG5SNzZ2M3lQOEpPTy9WaUlDZS8vCmhJVTBMR0NFT3lWRDR2NDVlZ0RsNDBqTk5QQ1BWTlNhVDVnVTJ2NE4xMUU0SlFIYStzb3l6SDBDZ1lFQTc0L3kKT0x6TXprS3Q0U3BTMXI1SEJXdXBoWkowNWE4WThPSi9WMWpVNEQzU1BFMnZDWTQwaWZ4eW9VY1FoTTl5OEs3VQpScE12bVNhN0ViSkthdCtFMXN2amRuSkJPVExkc2FYcDN3bHFPT2RoZE9QdjBsdUUvQ2pNNUN5c2dhUkxaaDA4CjZuczZqcnJZMmlpT3NiQXJDbUVDZ2JLUnFzODR0Mm1DM0o4UCtqOENnWUJIRVo2RmNPMFpQR2ErRUZKRnlBTDAKU1hNQkRwRFI1MlZwR1VnOTNPTm1kWk9qa0dPa2FVazE5ZUZUeWlRbE5PVktMTmNJUzVOOG9jSXN0aHBmbU03QQp5L0srWnN2MWtHSUpuTFJCcTdrYkl3aTB3SnR3WWhFRlNIREhsektRNGhDNlBxVWZWQUphVTVJeXRtc0pLMEJ0CnFZeGNGN3pvd0hVeVFhMGNXTXBtWlFLQmdHRW4vUEY3eUlnQ1RPaWJ0SnI0OG03Rldpd2MyS0hxSUhCWk81SGUKS2YrRHN3Ylg3cHd1ZXlwWEl0bzdxdnhoOGRpZzN1QjhndnBXMWRsNGVHdmRtTTlRUTBEZlY0cHVFYkVoZTdjRAo1M3VLZzJEWHJJU2dyMDlnOEsrOVduejlkOExES3RoaC83NnhFbzl2a1dlSTdmdTRtajZsZ0NSSkJGU0dTeGRVCnZ6TWJBb0dBRnZEL3VubVJpYXpNbHdoR1RjT2Z4dGdLalF0bXNFV3NsOGVHemtZVGxEbWZ1am9oM2xrc3dsL0YKRW9OK3g2RWIwMzRVbXh1SmpWWmFFY050RFM2TFJpWjh0bEwyZ2pmLzh3ZElkNkc3aXZVUzJlODBvMmRPVUJ0cgp4YWVRRHdwSS9nWURPenVrM2dDMUZjSHhoTmxUZklHd1lPK1V1eGtaSFRoNXJmaFlJQVk9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== | |
| --- | |
| # Source: cilium/templates/hubble/tls-helm/server-secret.yaml | |
| apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| name: hubble-server-certs | |
| namespace: kube-system | |
| type: kubernetes.io/tls | |
| data: | |
| ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lRS3ltNXFZOEVzeHlValBRWlJZZGZtekFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsRGFXeHBkVzBnUTBFd0hoY05NalV4TURFMk1UWXhNakEyV2hjTk1qZ3hNREUxTVRZeApNakEyV2pBVU1SSXdFQVlEVlFRREV3bERhV3hwZFcwZ1EwRXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR3QXdnZ0VLQW9JQkFRREtCUUNhd01CaXM5R3g5VjU3MUxwWS9hV3ordmVFTmk0Vm1FeTNNTlFPR01vSlladFIKeEFucVA5SXlxUU1XWTR3UVBZOThydWpJOC9lVmZReFVxUnpLZ1FxWFloUGljQ1NDQWxGYmNTOWJkMkdtQzA4MwpROStGSjhpMlJWOXViTWtXZHA5UDg4Y3RvR2U2a3FKM2Y2VnM0UE83ZVJLcWVZVUNBMzVPMjM2M29YWHlSbEszCjdZWktXSTlwamJ5VWFubzBUYUFoRzJmUmtWWjZ5anlLa0lNenpYU0d3TE9QVyt3QmxRM1pSWmRSVFg4dXVYZ1gKYktSemxUREw3RzY5ZzAvMXlhd2ZxRit4U0IwdDNUcmVrLzBPRG5qa3luTEdCb3NZUFpZRHJQTEVwV05nV2JtWgpBQTVZUVdXQytXYmJtNUZQSGtGRUN6NjZvVTFaYUpUOGhXVERBZ01CQUFHallUQmZNQTRHQTFVZER3RUIvd1FFCkF3SUNwREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXcKQXdFQi96QWRCZ05WSFE0RUZnUVVnbjhScFpjcmRQaXl5WXkrY0NZNFpoYkJkRzR3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFHcll2TWd3OWwxTWxRd1lJK0VxdjZjRHBlVXM4OVpPVk95Z0J5aFcwVGFhdjQ2R0p2cThPWnJ5CmpqRmZZa3ZNb3FtbE82MUFPNjBDOHRXSDJYZmE5UjJwMC9iY2w1WlFGMTNaYi9WcFFUZW9CVjdOZ1U2Yi8wbHYKZFRIQ0daYzkyc3BrTjdzL0hwOTB0RXovS2VuNHVLL2R1WGRyU0MwcUZRUTFDTFVYVE95TVRKMDNRNVltdHk1UAo1WUM2V0hURFl1YTVhaldEa1B3eE9UMjlmbFpITFoySTUyZVFqckI2WUZjTWNodUI4QmYzTlh4bzRXdDROZUFUCk1jcFdyNGd6T3ZNVjBFK2c1N256MU5ScU5Fbkk0MTh6ZC9aOXNiUUtVbHJFcTFKdlVXVmRlcDRBdWFBQ21UYXMKUzlrY1ErMEtCbHErSFlmWkk0NllxamwxZFMwZm1nTT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= | |
| tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURWakNDQWo2Z0F3SUJBZ0lRSDJBdkcwNVJOYlZpSS9SMUdFekF6ekFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsRGFXeHBkVzBnUTBFd0hoY05NalV4TURFMk1UWXhNakEyV2hjTk1qWXhNREUyTVRZeApNakEyV2pBcU1TZ3dKZ1lEVlFRRERCOHFMbVJsWm1GMWJIUXVhSFZpWW14bExXZHljR011WTJsc2FYVnRMbWx2Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMEdHS3BMTnRzSDRuY01UZnZpTkUKblFtQmJqbnpOUHA1Z1dBanJIZGhkRHIzbU10RHowV1NIakw5Uk1BWENCdFA3bzlRN29qSHRnRkVzTWJkYkFMMgpOc292a1NtVGcvUVZaSkRLNUxpOWVRd081bXVGZzkzOU9ldGYrRmtZZUJaZksvZXJJWExUNmkxaXZZeHhzbTdPCjE1NlpGVmtzQ0VidWoyY1ZkaVo2b1pXS0tzaVBZS20wT1FXLytuM0E0ODBWOVJzZ1oyV3k0RUN5cHNBWmRMY3EKaEFDcFg5cGFDNjAyUUJ3WFNJSDQ0UXZzWWdOUmtyTm9FbkR0eWdlVVVXYlA3U1crYjhCWWk4Z1RMaUxXWjJTcQpDTGl3YktsSVVNRE4yK3RmRWRYYTM1MlQ4Tkk2Wm94NHYzVU9mdWhrd083VXNYVXRwN0FmcWo5bGdVNXF1citmCm9RSURBUUFCbzRHTk1JR0tNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0QKQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JTQ2Z4R2xseXQwK0xMSgpqTDV3SmpobUZzRjBiakFxQmdOVkhSRUVJekFoZ2g4cUxtUmxabUYxYkhRdWFIVmlZbXhsTFdkeWNHTXVZMmxzCmFYVnRMbWx2TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCNXZnbjBFbkJkbGhMNWZOOFNsU0JOWVg3dlh4bjEKckFSN1FQaW8rZXo2K2tsZzdRcktjMjlISDJiVGFWQkkyajJWS3JvZTlDaHd1N1NQbFFzQXFoRGFVVGtFdzgvMgpFY3llSDY5TjZ0R292UEwyRUU0WVFlRHpiTk4rZlNjMEdWMlMwWE5LNDBmaGhOZ1pXY1oxTUVNeG1RYkk2QTJlCmJoTWQybFMycUlmM2drT2F5cGsyTEpFOVRJc1IzYjlRWUJlUmxKUWljaUt0MzZyTDBhMUFBM1h6Sms4MEg2UVMKV2FrTllZdmJEdFR4Q2Y0alVXNWxSRXJXdFJVQXV3cVV4QTdsMkc4Ly8rTnZKQmdrRGJMd0FaQ29jZURDcldHYwpjcjhOQ1FoRTFPN1ppOUw2aVRYb1JhaUlZZkZtYllyMTJxNktzWTNnUm5IL3dmTmV4QjUwZExBSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== | |
| tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMEdHS3BMTnRzSDRuY01UZnZpTkVuUW1CYmpuek5QcDVnV0FqckhkaGREcjNtTXRECnowV1NIakw5Uk1BWENCdFA3bzlRN29qSHRnRkVzTWJkYkFMMk5zb3ZrU21UZy9RVlpKREs1TGk5ZVF3TzVtdUYKZzkzOU9ldGYrRmtZZUJaZksvZXJJWExUNmkxaXZZeHhzbTdPMTU2WkZWa3NDRWJ1ajJjVmRpWjZvWldLS3NpUApZS20wT1FXLytuM0E0ODBWOVJzZ1oyV3k0RUN5cHNBWmRMY3FoQUNwWDlwYUM2MDJRQndYU0lINDRRdnNZZ05SCmtyTm9FbkR0eWdlVVVXYlA3U1crYjhCWWk4Z1RMaUxXWjJTcUNMaXdiS2xJVU1ETjIrdGZFZFhhMzUyVDhOSTYKWm94NHYzVU9mdWhrd083VXNYVXRwN0FmcWo5bGdVNXF1citmb1FJREFRQUJBb0lCQURCcU5VNzZoRllCSFpOSgpIcTM3M2oxNVA2bjNTMTlJQWRLU0huKzc5ZmZPR29oVTA4SzA2SlBkSjNTaGg4aGhwaUxvaC9aLzc1ekZNeXM2CmJTZ2pFUWNlVjBwc0pVSy9nM2ZyMzBRZ2V4OUVjckxORVFhWUhYVm5UMU14aWlxZWtncXlYcitsQVFFVC9mREoKMElIVFZub0k5b3JiL3N2R2hUZHF6VFQ0RUQ1NXh6NnhXS1ZjYTVwOUZqRTluaDJVdWN3clZqQjdQcU1odGRlZgorbHp1WmtHNEY0WnRWSEVsclhnb2paMm5wRWdwRkplNVRNdHpSUHBmYlRGRDVnUXA1bWhGZEFNRHVVK1NHdDd3Cnl4SEZlWEs1UkViazZMeUZJUnFYZmRaREk4cUNJZ0dXbExOcXJ3WlpiOUlXSEx6ZFordkZqT1VjbGVwTkJGSmYKMjBjMlplVUNnWUVBOTBINjdZbGRCVDlPR3kzV2tSVDA0dU4zUlhtQ0p5Tk5Vam5TUWdBbnJuTFdMdFNMOE9KTQpubEI4WTZndFQrbVRsZngzK2xsYlpraVVBSE1rZnpKWEluRFowZ2xvK2ZldkpBMGFSdnVPQ043TDRxbEtZUytWCmY5U1JKNXVPUk42SmlOdkR1aWJQV1hTb3ZFTzllMXVmRlRIUmdISWNHTkhOSGZwaUppeTNmK1VDZ1lFQTE3K3MKa2FKc1RlSjd4R0ozNlpEdll0QmpiNnNmalV1YWIwY21jUEExTzF5eHkxbFluQnFjRmpydlpJREtVS21KdDZYVApGbnV5ajNjWXVWT2Z0dGNET2hDUmloQmJyU2UvRUZNWUdtNGxLbUEwYnZpemV2QWhHZ3ByU1dqSnVPdmJwQ2trClZlZ2RKZDJGaUpDSXlIeFNQRlpDa2FOanR5eENDS2lRNDZJNWpRMENnWUVBMWNCa2ZSVlRKVVlrNzdvZzFDdVoKeU10OFFNTmFrUnNqclFIdmtyOHZqdEFYK1VRbDlvaXNVL0NnbUVhN1pXbzMvR0hXRnNkSkRKT1IzeEdyYTRySgphU3pHSVoyZzh2ZjhvTjN5NllwdXI1eHNCZmIwSmpCTXZjVzE5dGV6bGpZTUVCUnNrSEVjcitqNk5rY1pkNXN0Clc5VkZtQlVOMVNjS2UvQUpDWmQreTBFQ2dZRUFqcDBEL0l5cUhOMitSSFYyb0cwTzRIbXhrU3BEeEFtYXZ6My8KK2gyK2drdm10dTJMZGp6Y3VwRWdsNFhPdG4wckxMc3ZpcWdmdzFmTmZ3djVBa3FrdG1nblhHVXR4SXNHY0VzTgpIc042UzhXbVEwaWdrMzVSMHozWjUzK2VBRi9nSTJhU3Z6cWNzZC81bWVrNGtaWWtZZi8vSnZnalBQekRkYWUvCmhzbEFVNjBDZ1lCS2xjdTBmdEZtTjRDekZMb0hSYjN3dkVtTTJ4cXVvclk3UjRJZ29ETDRMS1dNaWxZbmRydjAKb0hLUGljcDUxRzlmZ2UrSEJOaFA3T2pYWWdnQkIwTjhaZ3R5aFBUbGx0K2Znd2FXOUxIMWxWYUlPREhBK25HQwpRTFhEdnE3T244ZFF5b3l6d1FNSVI4SlFHWElBZng2OEM2VGNTQk0raGZjanZ3SmFGc0NhREE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= | |
| --- | |
| # Source: cilium/templates/cilium-configmap.yaml | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: cilium-config | |
| namespace: kube-system | |
| data: | |
| identity-allocation-mode: crd | |
| identity-heartbeat-timeout: "30m0s" | |
| identity-gc-interval: "15m0s" | |
| cilium-endpoint-gc-interval: "5m0s" | |
| nodes-gc-interval: "5m0s" | |
| # If you want to run cilium in debug mode change this value to true | |
| debug: "false" | |
| debug-verbose: "" | |
| metrics-sampling-interval: "5m" | |
| enable-policy: "default" | |
| policy-cidr-match-mode: "" | |
| operator-prometheus-serve-addr: ":9963" | |
| enable-metrics: "true" | |
| enable-policy-secrets-sync: "true" | |
| policy-secrets-only-from-secrets-namespace: "true" | |
| policy-secrets-namespace: "cilium-secrets" | |
| enable-ipv4: "true" | |
| enable-ipv6: "false" | |
| custom-cni-conf: "false" | |
| enable-bpf-clock-probe: "false" | |
| monitor-aggregation: medium | |
| monitor-aggregation-interval: "5s" | |
| monitor-aggregation-flags: all | |
| bpf-map-dynamic-size-ratio: "0.0025" | |
| bpf-policy-map-max: "16384" | |
| bpf-policy-stats-map-max: "65536" | |
| bpf-lb-map-max: "65536" | |
| bpf-lb-external-clusterip: "false" | |
| bpf-lb-source-range-all-types: "false" | |
| bpf-lb-algorithm-annotation: "false" | |
| bpf-lb-mode-annotation: "false" | |
| bpf-distributed-lru: "false" | |
| bpf-events-drop-enabled: "true" | |
| bpf-events-policy-verdict-enabled: "true" | |
| bpf-events-trace-enabled: "true" | |
| preallocate-bpf-maps: "false" | |
| cluster-name: "default" | |
| cluster-id: "0" | |
| routing-mode: "tunnel" | |
| tunnel-protocol: "vxlan" | |
| tunnel-source-port-range: "0-0" | |
| service-no-backend-response: "reject" | |
| enable-l7-proxy: "true" | |
| enable-ipv4-masquerade: "true" | |
| enable-ipv4-big-tcp: "false" | |
| enable-ipv6-big-tcp: "false" | |
| enable-ipv6-masquerade: "true" | |
| enable-tcx: "true" | |
| datapath-mode: "veth" | |
| enable-masquerade-to-route-source: "false" | |
| enable-xt-socket-fallback: "true" | |
| install-no-conntrack-iptables-rules: "false" | |
| iptables-random-fully: "false" | |
| auto-direct-node-routes: "false" | |
| direct-routing-skip-unreachable: "false" | |
| kube-proxy-replacement: "true" | |
| kube-proxy-replacement-healthz-bind-address: "" | |
| bpf-lb-sock: "false" | |
| nodeport-addresses: "" | |
| enable-health-check-nodeport: "true" | |
| enable-health-check-loadbalancer-ip: "false" | |
| node-port-bind-protection: "true" | |
| enable-auto-protect-node-port-range: "true" | |
| bpf-lb-acceleration: "disabled" | |
| enable-svc-source-range-check: "true" | |
| enable-l2-neigh-discovery: "false" | |
| k8s-require-ipv4-pod-cidr: "false" | |
| k8s-require-ipv6-pod-cidr: "false" | |
| enable-k8s-networkpolicy: "true" | |
| enable-endpoint-lockdown-on-policy-overflow: "false" | |
| write-cni-conf-when-ready: /host/etc/cni/net.d/05-cilium.conflist | |
| cni-exclusive: "true" | |
| cni-log-file: "/var/run/cilium/cilium-cni.log" | |
| enable-endpoint-health-checking: "true" | |
| enable-health-checking: "true" | |
| health-check-icmp-failure-threshold: "3" | |
| enable-well-known-identities: "false" | |
| enable-node-selector-labels: "false" | |
| synchronize-k8s-nodes: "true" | |
| operator-api-serve-addr: "127.0.0.1:9234" | |
| enable-hubble: "true" | |
| hubble-socket-path: "/var/run/cilium/hubble.sock" | |
| hubble-network-policy-correlation-enabled: "true" | |
| hubble-listen-address: ":4244" | |
| hubble-disable-tls: "false" | |
| hubble-tls-cert-file: /var/lib/cilium/tls/hubble/server.crt | |
| hubble-tls-key-file: /var/lib/cilium/tls/hubble/server.key | |
| hubble-tls-client-ca-files: /var/lib/cilium/tls/hubble/client-ca.crt | |
| ipam: "kubernetes" | |
| ipam-cilium-node-update-rate: "15s" | |
| default-lb-service-ipam: "lbipam" | |
| egress-gateway-reconciliation-trigger-interval: "1s" | |
| enable-vtep: "false" | |
| vtep-endpoint: "" | |
| vtep-cidr: "" | |
| vtep-mask: "" | |
| vtep-mac: "" | |
| procfs: "/host/proc" | |
| bpf-root: "/sys/fs/bpf" | |
| cgroup-root: "/sys/fs/cgroup" | |
| identity-management-mode: "agent" | |
| enable-sctp: "false" | |
| remove-cilium-node-taints: "true" | |
| set-cilium-node-taints: "true" | |
| set-cilium-is-up-condition: "true" | |
| unmanaged-pod-watcher-interval: "15" | |
| # default DNS proxy to transparent mode in non-chaining modes | |
| dnsproxy-enable-transparent-mode: "true" | |
| dnsproxy-socket-linger-timeout: "10" | |
| tofqdns-dns-reject-response-code: "refused" | |
| tofqdns-enable-dns-compression: "true" | |
| tofqdns-endpoint-max-ip-per-hostname: "1000" | |
| tofqdns-idle-connection-grace-period: "0s" | |
| tofqdns-max-deferred-connection-deletes: "10000" | |
| tofqdns-proxy-response-max-delay: "100ms" | |
| tofqdns-preallocate-identities: "true" | |
| agent-not-ready-taint-key: "node.cilium.io/agent-not-ready" | |
| mesh-auth-enabled: "true" | |
| mesh-auth-queue-size: "1024" | |
| mesh-auth-rotated-identities-queue-size: "1024" | |
| mesh-auth-gc-interval: "5m0s" | |
| proxy-xff-num-trusted-hops-ingress: "0" | |
| proxy-xff-num-trusted-hops-egress: "0" | |
| proxy-connect-timeout: "2" | |
| proxy-initial-fetch-timeout: "30" | |
| proxy-max-requests-per-connection: "0" | |
| proxy-max-connection-duration-seconds: "0" | |
| proxy-idle-timeout-seconds: "60" | |
| proxy-max-concurrent-retries: "128" | |
| http-retry-count: "3" | |
| external-envoy-proxy: "true" | |
| envoy-base-id: "0" | |
| envoy-access-log-buffer-size: "4096" | |
| envoy-keep-cap-netbindservice: "false" | |
| max-connected-clusters: "255" | |
| clustermesh-enable-endpoint-sync: "false" | |
| clustermesh-enable-mcs-api: "false" | |
| policy-default-local-cluster: "false" | |
| nat-map-stats-entries: "32" | |
| nat-map-stats-interval: "30s" | |
| enable-internal-traffic-policy: "true" | |
| enable-lb-ipam: "true" | |
| enable-non-default-deny-policies: "true" | |
| enable-source-ip-verification: "true" | |
| # Extra config allows adding arbitrary properties to the cilium config. | |
| # By putting it at the end of the ConfigMap, it's also possible to override existing properties. | |
| --- | |
| # Source: cilium/templates/cilium-envoy/configmap.yaml | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: cilium-envoy-config | |
| namespace: kube-system | |
| data: | |
| # Keep the key name as bootstrap-config.json to avoid breaking changes | |
| bootstrap-config.json: | | |
| {"admin":{"address":{"pipe":{"path":"/var/run/cilium/envoy/sockets/admin.sock"}}},"applicationLogConfig":{"logFormat":{"textFormat":"[%Y-%m-%d %T.%e][%t][%l][%n] [%g:%#] %v"}},"bootstrapExtensions":[{"name":"envoy.bootstrap.internal_listener","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.bootstrap.internal_listener.v3.InternalListener"}}],"dynamicResources":{"cdsConfig":{"apiConfigSource":{"apiType":"GRPC","grpcServices":[{"envoyGrpc":{"clusterName":"xds-grpc-cilium"}}],"setNodeOnFirstMessageOnly":true,"transportApiVersion":"V3"},"initialFetchTimeout":"30s","resourceApiVersion":"V3"},"ldsConfig":{"apiConfigSource":{"apiType":"GRPC","grpcServices":[{"envoyGrpc":{"clusterName":"xds-grpc-cilium"}}],"setNodeOnFirstMessageOnly":true,"transportApiVersion":"V3"},"initialFetchTimeout":"30s","resourceApiVersion":"V3"}},"node":{"cluster":"ingress-cluster","id":"host~127.0.0.1~no-id~localdomain"},"overloadManager":{"resourceMonitors":[{"name":"envoy.resource_monitors.global_downstream_max_connections","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.resource_monitors.downstream_connections.v3.DownstreamConnectionsConfig","max_active_downstream_connections":"50000"}}]},"staticResources":{"clusters":[{"circuitBreakers":{"thresholds":[{"maxRetries":128}]},"cleanupInterval":"2.500s","connectTimeout":"2s","lbPolicy":"CLUSTER_PROVIDED","name":"ingress-cluster","type":"ORIGINAL_DST","typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","commonHttpProtocolOptions":{"idleTimeout":"60s","maxConnectionDuration":"0s","maxRequestsPerConnection":0},"useDownstreamProtocolConfig":{}}}},{"circuitBreakers":{"thresholds":[{"maxRetries":128}]},"cleanupInterval":"2.500s","connectTimeout":"2s","lbPolicy":"CLUSTER_PROVIDED","name":"egress-cluster-tls","transportSocket":{"name":"cilium.tls_wrapper","typedConfig":{"@type":"type.googleapis.com/cilium.UpstreamTlsWrapperContext"}},"type":"ORIGINAL_DST","typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","commonHttpProtocolOptions":{"idleTimeout":"60s","maxConnectionDuration":"0s","maxRequestsPerConnection":0},"upstreamHttpProtocolOptions":{},"useDownstreamProtocolConfig":{}}}},{"circuitBreakers":{"thresholds":[{"maxRetries":128}]},"cleanupInterval":"2.500s","connectTimeout":"2s","lbPolicy":"CLUSTER_PROVIDED","name":"egress-cluster","type":"ORIGINAL_DST","typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","commonHttpProtocolOptions":{"idleTimeout":"60s","maxConnectionDuration":"0s","maxRequestsPerConnection":0},"useDownstreamProtocolConfig":{}}}},{"circuitBreakers":{"thresholds":[{"maxRetries":128}]},"cleanupInterval":"2.500s","connectTimeout":"2s","lbPolicy":"CLUSTER_PROVIDED","name":"ingress-cluster-tls","transportSocket":{"name":"cilium.tls_wrapper","typedConfig":{"@type":"type.googleapis.com/cilium.UpstreamTlsWrapperContext"}},"type":"ORIGINAL_DST","typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","commonHttpProtocolOptions":{"idleTimeout":"60s","maxConnectionDuration":"0s","maxRequestsPerConnection":0},"upstreamHttpProtocolOptions":{},"useDownstreamProtocolConfig":{}}}},{"connectTimeout":"2s","loadAssignment":{"clusterName":"xds-grpc-cilium","endpoints":[{"lbEndpoints":[{"endpoint":{"address":{"pipe":{"path":"/var/run/cilium/envoy/sockets/xds.sock"}}}}]}]},"name":"xds-grpc-cilium","type":"STATIC","typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","explicitHttpConfig":{"http2ProtocolOptions":{}}}}},{"connectTimeout":"2s","loadAssignment":{"clusterName":"/envoy-admin","endpoints":[{"lbEndpoints":[{"endpoint":{"address":{"pipe":{"path":"/var/run/cilium/envoy/sockets/admin.sock"}}}}]}]},"name":"/envoy-admin","type":"STATIC"}],"listeners":[{"address":{"socketAddress":{"address":"0.0.0.0","portValue":9964}},"filterChains":[{"filters":[{"name":"envoy.filters.network.http_connection_manager","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager","httpFilters":[{"name":"envoy.filters.http.router","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"}}],"internalAddressConfig":{"cidrRanges":[{"addressPrefix":"10.0.0.0","prefixLen":8},{"addressPrefix":"172.16.0.0","prefixLen":12},{"addressPrefix":"192.168.0.0","prefixLen":16},{"addressPrefix":"127.0.0.1","prefixLen":32}]},"routeConfig":{"virtualHosts":[{"domains":["*"],"name":"prometheus_metrics_route","routes":[{"match":{"prefix":"/metrics"},"name":"prometheus_metrics_route","route":{"cluster":"/envoy-admin","prefixRewrite":"/stats/prometheus"}}]}]},"statPrefix":"envoy-prometheus-metrics-listener","streamIdleTimeout":"300s"}}]}],"name":"envoy-prometheus-metrics-listener"},{"address":{"socketAddress":{"address":"127.0.0.1","portValue":9878}},"filterChains":[{"filters":[{"name":"envoy.filters.network.http_connection_manager","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager","httpFilters":[{"name":"envoy.filters.http.router","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"}}],"internalAddressConfig":{"cidrRanges":[{"addressPrefix":"10.0.0.0","prefixLen":8},{"addressPrefix":"172.16.0.0","prefixLen":12},{"addressPrefix":"192.168.0.0","prefixLen":16},{"addressPrefix":"127.0.0.1","prefixLen":32}]},"routeConfig":{"virtual_hosts":[{"domains":["*"],"name":"health","routes":[{"match":{"prefix":"/healthz"},"name":"health","route":{"cluster":"/envoy-admin","prefixRewrite":"/ready"}}]}]},"statPrefix":"envoy-health-listener","streamIdleTimeout":"300s"}}]}],"name":"envoy-health-listener"}]}} | |
| --- | |
| # Source: cilium/templates/cilium-agent/clusterrole.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRole | |
| metadata: | |
| name: cilium | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| rules: | |
| - apiGroups: | |
| - networking.k8s.io | |
| resources: | |
| - networkpolicies | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - discovery.k8s.io | |
| resources: | |
| - endpointslices | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - namespaces | |
| - services | |
| - pods | |
| - endpoints | |
| - nodes | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - apiextensions.k8s.io | |
| resources: | |
| - customresourcedefinitions | |
| verbs: | |
| - list | |
| - watch | |
| # This is used when validating policies in preflight. This will need to stay | |
| # until we figure out how to avoid "get" inside the preflight, and then | |
| # should be removed ideally. | |
| - get | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumloadbalancerippools | |
| - ciliumbgppeeringpolicies | |
| - ciliumbgpnodeconfigs | |
| - ciliumbgpadvertisements | |
| - ciliumbgppeerconfigs | |
| - ciliumclusterwideenvoyconfigs | |
| - ciliumclusterwidenetworkpolicies | |
| - ciliumegressgatewaypolicies | |
| - ciliumendpoints | |
| - ciliumendpointslices | |
| - ciliumenvoyconfigs | |
| - ciliumidentities | |
| - ciliumlocalredirectpolicies | |
| - ciliumnetworkpolicies | |
| - ciliumnodes | |
| - ciliumnodeconfigs | |
| - ciliumcidrgroups | |
| - ciliuml2announcementpolicies | |
| - ciliumpodippools | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumidentities | |
| - ciliumendpoints | |
| - ciliumnodes | |
| verbs: | |
| - create | |
| - apiGroups: | |
| - cilium.io | |
| # To synchronize garbage collection of such resources | |
| resources: | |
| - ciliumidentities | |
| verbs: | |
| - update | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumendpoints | |
| verbs: | |
| - delete | |
| - get | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumnodes | |
| - ciliumnodes/status | |
| verbs: | |
| - get | |
| - update | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumendpoints/status | |
| - ciliumendpoints | |
| - ciliuml2announcementpolicies/status | |
| - ciliumbgpnodeconfigs/status | |
| verbs: | |
| - patch | |
| --- | |
| # Source: cilium/templates/cilium-operator/clusterrole.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRole | |
| metadata: | |
| name: cilium-operator | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - pods | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| # to automatically delete [core|kube]dns pods so that are starting to being | |
| # managed by Cilium | |
| - delete | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| resourceNames: | |
| - cilium-config | |
| verbs: | |
| # allow patching of the configmap to set annotations | |
| - patch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| # To remove node taints | |
| - nodes | |
| # To set NetworkUnavailable false on startup | |
| - nodes/status | |
| verbs: | |
| - patch | |
| - apiGroups: | |
| - discovery.k8s.io | |
| resources: | |
| - endpointslices | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| # to perform LB IP allocation for BGP | |
| - services/status | |
| verbs: | |
| - update | |
| - patch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| # to check apiserver connectivity | |
| - namespaces | |
| - secrets | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| # to perform the translation of a CNP that contains `ToGroup` to its endpoints | |
| - services | |
| - endpoints | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumnetworkpolicies | |
| - ciliumclusterwidenetworkpolicies | |
| verbs: | |
| # Create auto-generated CNPs and CCNPs from Policies that have 'toGroups' | |
| - create | |
| - update | |
| - deletecollection | |
| # To update the status of the CNPs and CCNPs | |
| - patch | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumnetworkpolicies/status | |
| - ciliumclusterwidenetworkpolicies/status | |
| verbs: | |
| # Update the auto-generated CNPs and CCNPs status. | |
| - patch | |
| - update | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumendpoints | |
| - ciliumidentities | |
| verbs: | |
| # To perform garbage collection of such resources | |
| - delete | |
| - list | |
| - watch | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumidentities | |
| verbs: | |
| # To synchronize garbage collection of such resources | |
| - update | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumnodes | |
| verbs: | |
| - create | |
| - update | |
| - get | |
| - list | |
| - watch | |
| # To perform CiliumNode garbage collector | |
| - delete | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumnodes/status | |
| verbs: | |
| - update | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumendpointslices | |
| - ciliumenvoyconfigs | |
| - ciliumbgppeerconfigs | |
| - ciliumbgpadvertisements | |
| - ciliumbgpnodeconfigs | |
| verbs: | |
| - create | |
| - update | |
| - get | |
| - list | |
| - watch | |
| - delete | |
| - patch | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumbgpclusterconfigs/status | |
| - ciliumbgppeerconfigs/status | |
| verbs: | |
| - update | |
| - apiGroups: | |
| - apiextensions.k8s.io | |
| resources: | |
| - customresourcedefinitions | |
| verbs: | |
| - create | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - apiextensions.k8s.io | |
| resources: | |
| - customresourcedefinitions | |
| verbs: | |
| - update | |
| resourceNames: | |
| - ciliumloadbalancerippools.cilium.io | |
| - ciliumbgppeeringpolicies.cilium.io | |
| - ciliumbgpclusterconfigs.cilium.io | |
| - ciliumbgppeerconfigs.cilium.io | |
| - ciliumbgpadvertisements.cilium.io | |
| - ciliumbgpnodeconfigs.cilium.io | |
| - ciliumbgpnodeconfigoverrides.cilium.io | |
| - ciliumclusterwideenvoyconfigs.cilium.io | |
| - ciliumclusterwidenetworkpolicies.cilium.io | |
| - ciliumegressgatewaypolicies.cilium.io | |
| - ciliumendpoints.cilium.io | |
| - ciliumendpointslices.cilium.io | |
| - ciliumenvoyconfigs.cilium.io | |
| - ciliumidentities.cilium.io | |
| - ciliumlocalredirectpolicies.cilium.io | |
| - ciliumnetworkpolicies.cilium.io | |
| - ciliumnodes.cilium.io | |
| - ciliumnodeconfigs.cilium.io | |
| - ciliumcidrgroups.cilium.io | |
| - ciliuml2announcementpolicies.cilium.io | |
| - ciliumpodippools.cilium.io | |
| - ciliumgatewayclassconfigs.cilium.io | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumloadbalancerippools | |
| - ciliumpodippools | |
| - ciliumbgppeeringpolicies | |
| - ciliumbgpclusterconfigs | |
| - ciliumbgpnodeconfigoverrides | |
| - ciliumbgppeerconfigs | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumpodippools | |
| verbs: | |
| - create | |
| - apiGroups: | |
| - cilium.io | |
| resources: | |
| - ciliumloadbalancerippools/status | |
| verbs: | |
| - patch | |
| # For cilium-operator running in HA mode. | |
| # | |
| # Cilium operator running in HA mode requires the use of ResourceLock for Leader Election | |
| # between multiple running instances. | |
| # The preferred way of doing this is to use LeasesResourceLock as edits to Leases are less | |
| # common and fewer objects in the cluster watch "all Leases". | |
| - apiGroups: | |
| - coordination.k8s.io | |
| resources: | |
| - leases | |
| verbs: | |
| - create | |
| - get | |
| - update | |
| --- | |
| # Source: cilium/templates/cilium-agent/clusterrolebinding.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: cilium | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: cilium | |
| subjects: | |
| - kind: ServiceAccount | |
| name: "cilium" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-operator/clusterrolebinding.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: cilium-operator | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: cilium-operator | |
| subjects: | |
| - kind: ServiceAccount | |
| name: "cilium-operator" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-agent/role.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: Role | |
| metadata: | |
| name: cilium-config-agent | |
| namespace: kube-system | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| --- | |
| # Source: cilium/templates/cilium-agent/role.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: Role | |
| metadata: | |
| name: cilium-tlsinterception-secrets | |
| namespace: "cilium-secrets" | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - secrets | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| --- | |
| # Source: cilium/templates/cilium-operator/role.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: Role | |
| metadata: | |
| name: cilium-operator-tlsinterception-secrets | |
| namespace: "cilium-secrets" | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - secrets | |
| verbs: | |
| - create | |
| - delete | |
| - update | |
| - patch | |
| --- | |
| # Source: cilium/templates/cilium-agent/rolebinding.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: RoleBinding | |
| metadata: | |
| name: cilium-config-agent | |
| namespace: kube-system | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: Role | |
| name: cilium-config-agent | |
| subjects: | |
| - kind: ServiceAccount | |
| name: "cilium" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-agent/rolebinding.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: RoleBinding | |
| metadata: | |
| name: cilium-tlsinterception-secrets | |
| namespace: "cilium-secrets" | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: Role | |
| name: cilium-tlsinterception-secrets | |
| subjects: | |
| - kind: ServiceAccount | |
| name: "cilium" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-operator/rolebinding.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: RoleBinding | |
| metadata: | |
| name: cilium-operator-tlsinterception-secrets | |
| namespace: "cilium-secrets" | |
| labels: | |
| app.kubernetes.io/part-of: cilium | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: Role | |
| name: cilium-operator-tlsinterception-secrets | |
| subjects: | |
| - kind: ServiceAccount | |
| name: "cilium-operator" | |
| namespace: kube-system | |
| --- | |
| # Source: cilium/templates/cilium-envoy/service.yaml | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: cilium-envoy | |
| namespace: kube-system | |
| annotations: | |
| prometheus.io/scrape: "true" | |
| prometheus.io/port: "9964" | |
| labels: | |
| k8s-app: cilium-envoy | |
| app.kubernetes.io/name: cilium-envoy | |
| app.kubernetes.io/part-of: cilium | |
| io.cilium/app: proxy | |
| spec: | |
| clusterIP: None | |
| type: ClusterIP | |
| selector: | |
| k8s-app: cilium-envoy | |
| ports: | |
| - name: envoy-metrics | |
| port: 9964 | |
| protocol: TCP | |
| targetPort: envoy-metrics | |
| --- | |
| # Source: cilium/templates/hubble/peer-service.yaml | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: hubble-peer | |
| namespace: kube-system | |
| labels: | |
| k8s-app: cilium | |
| app.kubernetes.io/part-of: cilium | |
| app.kubernetes.io/name: hubble-peer | |
| spec: | |
| selector: | |
| k8s-app: cilium | |
| ports: | |
| - name: peer-service | |
| port: 443 | |
| protocol: TCP | |
| targetPort: 4244 | |
| internalTrafficPolicy: Local | |
| --- | |
| # Source: cilium/templates/cilium-agent/daemonset.yaml | |
| apiVersion: apps/v1 | |
| kind: DaemonSet | |
| metadata: | |
| name: cilium | |
| namespace: kube-system | |
| labels: | |
| k8s-app: cilium | |
| app.kubernetes.io/part-of: cilium | |
| app.kubernetes.io/name: cilium-agent | |
| spec: | |
| selector: | |
| matchLabels: | |
| k8s-app: cilium | |
| updateStrategy: | |
| rollingUpdate: | |
| maxUnavailable: 2 | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| annotations: | |
| kubectl.kubernetes.io/default-container: cilium-agent | |
| labels: | |
| k8s-app: cilium | |
| app.kubernetes.io/name: cilium-agent | |
| app.kubernetes.io/part-of: cilium | |
| spec: | |
| securityContext: | |
| appArmorProfile: | |
| type: Unconfined | |
| seccompProfile: | |
| type: Unconfined | |
| containers: | |
| - name: cilium-agent | |
| image: "quay.io/cilium/cilium:v1.18.2@sha256:858f807ea4e20e85e3ea3240a762e1f4b29f1cb5bbd0463b8aa77e7b097c0667" | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - cilium-agent | |
| args: | |
| - --config-dir=/tmp/cilium/config-map | |
| startupProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9879 | |
| scheme: HTTP | |
| httpHeaders: | |
| - name: "brief" | |
| value: "true" | |
| failureThreshold: 300 | |
| periodSeconds: 2 | |
| successThreshold: 1 | |
| initialDelaySeconds: 5 | |
| livenessProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9879 | |
| scheme: HTTP | |
| httpHeaders: | |
| - name: "brief" | |
| value: "true" | |
| - name: "require-k8s-connectivity" | |
| value: "false" | |
| periodSeconds: 30 | |
| successThreshold: 1 | |
| failureThreshold: 10 | |
| timeoutSeconds: 5 | |
| readinessProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9879 | |
| scheme: HTTP | |
| httpHeaders: | |
| - name: "brief" | |
| value: "true" | |
| periodSeconds: 30 | |
| successThreshold: 1 | |
| failureThreshold: 3 | |
| timeoutSeconds: 5 | |
| env: | |
| - name: K8S_NODE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: spec.nodeName | |
| - name: CILIUM_K8S_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: metadata.namespace | |
| - name: CILIUM_CLUSTERMESH_CONFIG | |
| value: /var/lib/cilium/clustermesh/ | |
| - name: GOMEMLIMIT | |
| valueFrom: | |
| resourceFieldRef: | |
| resource: limits.memory | |
| divisor: '1' | |
| - name: KUBERNETES_SERVICE_HOST | |
| value: "localhost" | |
| - name: KUBERNETES_SERVICE_PORT | |
| value: "7445" | |
| - name: KUBE_CLIENT_BACKOFF_BASE | |
| value: "1" | |
| - name: KUBE_CLIENT_BACKOFF_DURATION | |
| value: "120" | |
| lifecycle: | |
| postStart: | |
| exec: | |
| command: | |
| - "bash" | |
| - "-c" | |
| - | | |
| set -o errexit | |
| set -o pipefail | |
| set -o nounset | |
| # When running in AWS ENI mode, it's likely that 'aws-node' has | |
| # had a chance to install SNAT iptables rules. These can result | |
| # in dropped traffic, so we should attempt to remove them. | |
| # We do it using a 'postStart' hook since this may need to run | |
| # for nodes which might have already been init'ed but may still | |
| # have dangling rules. This is safe because there are no | |
| # dependencies on anything that is part of the startup script | |
| # itself, and can be safely run multiple times per node (e.g. in | |
| # case of a restart). | |
| if [[ "$(iptables-save | grep -E -c 'AWS-SNAT-CHAIN|AWS-CONNMARK-CHAIN')" != "0" ]]; | |
| then | |
| echo 'Deleting iptables rules created by the AWS CNI VPC plugin' | |
| iptables-save | grep -E -v 'AWS-SNAT-CHAIN|AWS-CONNMARK-CHAIN' | iptables-restore | |
| fi | |
| echo 'Done!' | |
| preStop: | |
| exec: | |
| command: | |
| - /cni-uninstall.sh | |
| securityContext: | |
| seLinuxOptions: | |
| level: s0 | |
| type: spc_t | |
| capabilities: | |
| add: | |
| - CHOWN | |
| - KILL | |
| - NET_ADMIN | |
| - NET_RAW | |
| - IPC_LOCK | |
| - SYS_ADMIN | |
| - SYS_RESOURCE | |
| - DAC_OVERRIDE | |
| - FOWNER | |
| - SETGID | |
| - SETUID | |
| drop: | |
| - ALL | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| volumeMounts: | |
| - name: envoy-sockets | |
| mountPath: /var/run/cilium/envoy/sockets | |
| readOnly: false | |
| # Unprivileged containers need to mount /proc/sys/net from the host | |
| # to have write access | |
| - mountPath: /host/proc/sys/net | |
| name: host-proc-sys-net | |
| # Unprivileged containers need to mount /proc/sys/kernel from the host | |
| # to have write access | |
| - mountPath: /host/proc/sys/kernel | |
| name: host-proc-sys-kernel | |
| - name: bpf-maps | |
| mountPath: /sys/fs/bpf | |
| # Unprivileged containers can't set mount propagation to bidirectional | |
| # in this case we will mount the bpf fs from an init container that | |
| # is privileged and set the mount propagation from host to container | |
| # in Cilium. | |
| mountPropagation: HostToContainer | |
| # Check for duplicate mounts before mounting | |
| - name: cilium-cgroup | |
| mountPath: /sys/fs/cgroup | |
| - name: cilium-run | |
| mountPath: /var/run/cilium | |
| - name: cilium-netns | |
| mountPath: /var/run/cilium/netns | |
| mountPropagation: HostToContainer | |
| - name: etc-cni-netd | |
| mountPath: /host/etc/cni/net.d | |
| - name: clustermesh-secrets | |
| mountPath: /var/lib/cilium/clustermesh | |
| readOnly: true | |
| # Needed to be able to load kernel modules | |
| - name: lib-modules | |
| mountPath: /lib/modules | |
| readOnly: true | |
| - name: xtables-lock | |
| mountPath: /run/xtables.lock | |
| - name: hubble-tls | |
| mountPath: /var/lib/cilium/tls/hubble | |
| readOnly: true | |
| - name: tmp | |
| mountPath: /tmp | |
| initContainers: | |
| - name: config | |
| image: "quay.io/cilium/cilium:v1.18.2@sha256:858f807ea4e20e85e3ea3240a762e1f4b29f1cb5bbd0463b8aa77e7b097c0667" | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - cilium-dbg | |
| - build-config | |
| env: | |
| - name: K8S_NODE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: spec.nodeName | |
| - name: CILIUM_K8S_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: metadata.namespace | |
| - name: KUBERNETES_SERVICE_HOST | |
| value: "localhost" | |
| - name: KUBERNETES_SERVICE_PORT | |
| value: "7445" | |
| volumeMounts: | |
| - name: tmp | |
| mountPath: /tmp | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| - name: apply-sysctl-overwrites | |
| image: "quay.io/cilium/cilium:v1.18.2@sha256:858f807ea4e20e85e3ea3240a762e1f4b29f1cb5bbd0463b8aa77e7b097c0667" | |
| imagePullPolicy: IfNotPresent | |
| env: | |
| - name: BIN_PATH | |
| value: /opt/cni/bin | |
| command: | |
| - sh | |
| - -ec | |
| # The statically linked Go program binary is invoked to avoid any | |
| # dependency on utilities like sh that can be missing on certain | |
| # distros installed on the underlying host. Copy the binary to the | |
| # same directory where we install cilium cni plugin so that exec permissions | |
| # are available. | |
| - | | |
| cp /usr/bin/cilium-sysctlfix /hostbin/cilium-sysctlfix; | |
| nsenter --mount=/hostproc/1/ns/mnt "${BIN_PATH}/cilium-sysctlfix"; | |
| rm /hostbin/cilium-sysctlfix | |
| volumeMounts: | |
| - name: hostproc | |
| mountPath: /hostproc | |
| - name: cni-path | |
| mountPath: /hostbin | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| securityContext: | |
| seLinuxOptions: | |
| level: s0 | |
| type: spc_t | |
| capabilities: | |
| add: | |
| - SYS_ADMIN | |
| - SYS_CHROOT | |
| - SYS_PTRACE | |
| drop: | |
| - ALL | |
| # Mount the bpf fs if it is not mounted. We will perform this task | |
| # from a privileged container because the mount propagation bidirectional | |
| # only works from privileged containers. | |
| - name: mount-bpf-fs | |
| image: "quay.io/cilium/cilium:v1.18.2@sha256:858f807ea4e20e85e3ea3240a762e1f4b29f1cb5bbd0463b8aa77e7b097c0667" | |
| imagePullPolicy: IfNotPresent | |
| args: | |
| - 'mount | grep "/sys/fs/bpf type bpf" || mount -t bpf bpf /sys/fs/bpf' | |
| command: | |
| - /bin/bash | |
| - -c | |
| - -- | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| securityContext: | |
| privileged: true | |
| volumeMounts: | |
| - name: bpf-maps | |
| mountPath: /sys/fs/bpf | |
| mountPropagation: Bidirectional | |
| - name: clean-cilium-state | |
| image: "quay.io/cilium/cilium:v1.18.2@sha256:858f807ea4e20e85e3ea3240a762e1f4b29f1cb5bbd0463b8aa77e7b097c0667" | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - /init-container.sh | |
| env: | |
| - name: CILIUM_ALL_STATE | |
| valueFrom: | |
| configMapKeyRef: | |
| name: cilium-config | |
| key: clean-cilium-state | |
| optional: true | |
| - name: CILIUM_BPF_STATE | |
| valueFrom: | |
| configMapKeyRef: | |
| name: cilium-config | |
| key: clean-cilium-bpf-state | |
| optional: true | |
| - name: WRITE_CNI_CONF_WHEN_READY | |
| valueFrom: | |
| configMapKeyRef: | |
| name: cilium-config | |
| key: write-cni-conf-when-ready | |
| optional: true | |
| - name: KUBERNETES_SERVICE_HOST | |
| value: "localhost" | |
| - name: KUBERNETES_SERVICE_PORT | |
| value: "7445" | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| securityContext: | |
| seLinuxOptions: | |
| level: s0 | |
| type: spc_t | |
| capabilities: | |
| add: | |
| - NET_ADMIN | |
| - SYS_ADMIN | |
| - SYS_RESOURCE | |
| drop: | |
| - ALL | |
| volumeMounts: | |
| - name: bpf-maps | |
| mountPath: /sys/fs/bpf | |
| # Required to mount cgroup filesystem from the host to cilium agent pod | |
| - name: cilium-cgroup | |
| mountPath: /sys/fs/cgroup | |
| mountPropagation: HostToContainer | |
| - name: cilium-run | |
| mountPath: /var/run/cilium # wait-for-kube-proxy | |
| # Install the CNI binaries in an InitContainer so we don't have a writable host mount in the agent | |
| - name: install-cni-binaries | |
| image: "quay.io/cilium/cilium:v1.18.2@sha256:858f807ea4e20e85e3ea3240a762e1f4b29f1cb5bbd0463b8aa77e7b097c0667" | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - "/install-plugin.sh" | |
| resources: | |
| requests: | |
| cpu: 100m | |
| memory: 10Mi | |
| securityContext: | |
| seLinuxOptions: | |
| level: s0 | |
| type: spc_t | |
| capabilities: | |
| drop: | |
| - ALL | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| volumeMounts: | |
| - name: cni-path | |
| mountPath: /host/opt/cni/bin # .Values.cni.install | |
| restartPolicy: Always | |
| priorityClassName: system-node-critical | |
| serviceAccountName: "cilium" | |
| automountServiceAccountToken: true | |
| terminationGracePeriodSeconds: 1 | |
| hostNetwork: true | |
| affinity: | |
| podAntiAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| - labelSelector: | |
| matchLabels: | |
| k8s-app: cilium | |
| topologyKey: kubernetes.io/hostname | |
| nodeSelector: | |
| kubernetes.io/os: linux | |
| tolerations: | |
| - operator: Exists | |
| volumes: | |
| # For sharing configuration between the "config" initContainer and the agent | |
| - name: tmp | |
| emptyDir: {} | |
| # To keep state between restarts / upgrades | |
| - name: cilium-run | |
| hostPath: | |
| path: /var/run/cilium | |
| type: DirectoryOrCreate | |
| # To exec into pod network namespaces | |
| - name: cilium-netns | |
| hostPath: | |
| path: /var/run/netns | |
| type: DirectoryOrCreate | |
| # To keep state between restarts / upgrades for bpf maps | |
| - name: bpf-maps | |
| hostPath: | |
| path: /sys/fs/bpf | |
| type: DirectoryOrCreate | |
| # To mount cgroup2 filesystem on the host or apply sysctlfix | |
| - name: hostproc | |
| hostPath: | |
| path: /proc | |
| type: Directory | |
| # To keep state between restarts / upgrades for cgroup2 filesystem | |
| - name: cilium-cgroup | |
| hostPath: | |
| path: /sys/fs/cgroup | |
| type: DirectoryOrCreate | |
| # To install cilium cni plugin in the host | |
| - name: cni-path | |
| hostPath: | |
| path: /opt/cni/bin | |
| type: DirectoryOrCreate | |
| # To install cilium cni configuration in the host | |
| - name: etc-cni-netd | |
| hostPath: | |
| path: /etc/cni/net.d | |
| type: DirectoryOrCreate | |
| # To be able to load kernel modules | |
| - name: lib-modules | |
| hostPath: | |
| path: /lib/modules | |
| # To access iptables concurrently with other processes (e.g. kube-proxy) | |
| - name: xtables-lock | |
| hostPath: | |
| path: /run/xtables.lock | |
| type: FileOrCreate | |
| # Sharing socket with Cilium Envoy on the same node by using a host path | |
| - name: envoy-sockets | |
| hostPath: | |
| path: "/var/run/cilium/envoy/sockets" | |
| type: DirectoryOrCreate | |
| # To read the clustermesh configuration | |
| - name: clustermesh-secrets | |
| projected: | |
| # note: the leading zero means this number is in octal representation: do not remove it | |
| defaultMode: 0400 | |
| sources: | |
| - secret: | |
| name: cilium-clustermesh | |
| optional: true | |
| # note: items are not explicitly listed here, since the entries of this secret | |
| # depend on the peers configured, and that would cause a restart of all agents | |
| # at every addition/removal. Leaving the field empty makes each secret entry | |
| # to be automatically projected into the volume as a file whose name is the key. | |
| - secret: | |
| name: clustermesh-apiserver-remote-cert | |
| optional: true | |
| items: | |
| - key: tls.key | |
| path: common-etcd-client.key | |
| - key: tls.crt | |
| path: common-etcd-client.crt | |
| - key: ca.crt | |
| path: common-etcd-client-ca.crt | |
| # note: we configure the volume for the kvstoremesh-specific certificate | |
| # regardless of whether KVStoreMesh is enabled or not, so that it can be | |
| # automatically mounted in case KVStoreMesh gets subsequently enabled, | |
| # without requiring an agent restart. | |
| - secret: | |
| name: clustermesh-apiserver-local-cert | |
| optional: true | |
| items: | |
| - key: tls.key | |
| path: local-etcd-client.key | |
| - key: tls.crt | |
| path: local-etcd-client.crt | |
| - key: ca.crt | |
| path: local-etcd-client-ca.crt | |
| - name: host-proc-sys-net | |
| hostPath: | |
| path: /proc/sys/net | |
| type: Directory | |
| - name: host-proc-sys-kernel | |
| hostPath: | |
| path: /proc/sys/kernel | |
| type: Directory | |
| - name: hubble-tls | |
| projected: | |
| # note: the leading zero means this number is in octal representation: do not remove it | |
| defaultMode: 0400 | |
| sources: | |
| - secret: | |
| name: hubble-server-certs | |
| optional: true | |
| items: | |
| - key: tls.crt | |
| path: server.crt | |
| - key: tls.key | |
| path: server.key | |
| - key: ca.crt | |
| path: client-ca.crt | |
| --- | |
| # Source: cilium/templates/cilium-envoy/daemonset.yaml | |
| apiVersion: apps/v1 | |
| kind: DaemonSet | |
| metadata: | |
| name: cilium-envoy | |
| namespace: kube-system | |
| labels: | |
| k8s-app: cilium-envoy | |
| app.kubernetes.io/part-of: cilium | |
| app.kubernetes.io/name: cilium-envoy | |
| name: cilium-envoy | |
| spec: | |
| selector: | |
| matchLabels: | |
| k8s-app: cilium-envoy | |
| updateStrategy: | |
| rollingUpdate: | |
| maxUnavailable: 2 | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| annotations: | |
| labels: | |
| k8s-app: cilium-envoy | |
| name: cilium-envoy | |
| app.kubernetes.io/name: cilium-envoy | |
| app.kubernetes.io/part-of: cilium | |
| spec: | |
| securityContext: | |
| appArmorProfile: | |
| type: Unconfined | |
| containers: | |
| - name: cilium-envoy | |
| image: "quay.io/cilium/cilium-envoy:v1.34.7-1757592137-1a52bb680a956879722f48c591a2ca90f7791324@sha256:7932d656b63f6f866b6732099d33355184322123cfe1182e6f05175a3bc2e0e0" | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - /usr/bin/cilium-envoy-starter | |
| args: | |
| - '--' | |
| - '-c /var/run/cilium/envoy/bootstrap-config.json' | |
| - '--base-id 0' | |
| - '--log-level info' | |
| startupProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9878 | |
| scheme: HTTP | |
| failureThreshold: 105 | |
| periodSeconds: 2 | |
| successThreshold: 1 | |
| initialDelaySeconds: 5 | |
| livenessProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9878 | |
| scheme: HTTP | |
| periodSeconds: 30 | |
| successThreshold: 1 | |
| failureThreshold: 10 | |
| timeoutSeconds: 5 | |
| readinessProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9878 | |
| scheme: HTTP | |
| periodSeconds: 30 | |
| successThreshold: 1 | |
| failureThreshold: 3 | |
| timeoutSeconds: 5 | |
| env: | |
| - name: K8S_NODE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: spec.nodeName | |
| - name: CILIUM_K8S_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: metadata.namespace | |
| - name: KUBERNETES_SERVICE_HOST | |
| value: "localhost" | |
| - name: KUBERNETES_SERVICE_PORT | |
| value: "7445" | |
| ports: | |
| - name: envoy-metrics | |
| containerPort: 9964 | |
| hostPort: 9964 | |
| protocol: TCP | |
| securityContext: | |
| seLinuxOptions: | |
| level: s0 | |
| type: spc_t | |
| capabilities: | |
| add: | |
| - NET_ADMIN | |
| - SYS_ADMIN | |
| drop: | |
| - ALL | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| volumeMounts: | |
| - name: envoy-sockets | |
| mountPath: /var/run/cilium/envoy/sockets | |
| readOnly: false | |
| - name: envoy-artifacts | |
| mountPath: /var/run/cilium/envoy/artifacts | |
| readOnly: true | |
| - name: envoy-config | |
| mountPath: /var/run/cilium/envoy/ | |
| readOnly: true | |
| - name: bpf-maps | |
| mountPath: /sys/fs/bpf | |
| mountPropagation: HostToContainer | |
| restartPolicy: Always | |
| priorityClassName: system-node-critical | |
| serviceAccountName: "cilium-envoy" | |
| automountServiceAccountToken: true | |
| terminationGracePeriodSeconds: 1 | |
| hostNetwork: true | |
| affinity: | |
| nodeAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| nodeSelectorTerms: | |
| - matchExpressions: | |
| - key: cilium.io/no-schedule | |
| operator: NotIn | |
| values: | |
| - "true" | |
| podAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| - labelSelector: | |
| matchLabels: | |
| k8s-app: cilium | |
| topologyKey: kubernetes.io/hostname | |
| podAntiAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| - labelSelector: | |
| matchLabels: | |
| k8s-app: cilium-envoy | |
| topologyKey: kubernetes.io/hostname | |
| nodeSelector: | |
| kubernetes.io/os: linux | |
| tolerations: | |
| - operator: Exists | |
| volumes: | |
| - name: envoy-sockets | |
| hostPath: | |
| path: "/var/run/cilium/envoy/sockets" | |
| type: DirectoryOrCreate | |
| - name: envoy-artifacts | |
| hostPath: | |
| path: "/var/run/cilium/envoy/artifacts" | |
| type: DirectoryOrCreate | |
| - name: envoy-config | |
| configMap: | |
| name: "cilium-envoy-config" | |
| # note: the leading zero means this number is in octal representation: do not remove it | |
| defaultMode: 0400 | |
| items: | |
| - key: bootstrap-config.json | |
| path: bootstrap-config.json | |
| # To keep state between restarts / upgrades | |
| # To keep state between restarts / upgrades for bpf maps | |
| - name: bpf-maps | |
| hostPath: | |
| path: /sys/fs/bpf | |
| type: DirectoryOrCreate | |
| --- | |
| # Source: cilium/templates/cilium-operator/deployment.yaml | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: cilium-operator | |
| namespace: kube-system | |
| labels: | |
| io.cilium/app: operator | |
| name: cilium-operator | |
| app.kubernetes.io/part-of: cilium | |
| app.kubernetes.io/name: cilium-operator | |
| spec: | |
| # See docs on ServerCapabilities.LeasesResourceLock in file pkg/k8s/version/version.go | |
| # for more details. | |
| replicas: 2 | |
| selector: | |
| matchLabels: | |
| io.cilium/app: operator | |
| name: cilium-operator | |
| # ensure operator update on single node k8s clusters, by using rolling update with maxUnavailable=100% in case | |
| # of one replica and no user configured Recreate strategy. | |
| # otherwise an update might get stuck due to the default maxUnavailable=50% in combination with the | |
| # podAntiAffinity which prevents deployments of multiple operator replicas on the same node. | |
| strategy: | |
| rollingUpdate: | |
| maxSurge: 25% | |
| maxUnavailable: 50% | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| annotations: | |
| prometheus.io/port: "9963" | |
| prometheus.io/scrape: "true" | |
| labels: | |
| io.cilium/app: operator | |
| name: cilium-operator | |
| app.kubernetes.io/part-of: cilium | |
| app.kubernetes.io/name: cilium-operator | |
| spec: | |
| securityContext: | |
| seccompProfile: | |
| type: RuntimeDefault | |
| containers: | |
| - name: cilium-operator | |
| image: "quay.io/cilium/operator-generic:v1.18.2@sha256:cb4e4ffc5789fd5ff6a534e3b1460623df61cba00f5ea1c7b40153b5efb81805" | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - cilium-operator-generic | |
| args: | |
| - --config-dir=/tmp/cilium/config-map | |
| - --debug=$(CILIUM_DEBUG) | |
| env: | |
| - name: K8S_NODE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: spec.nodeName | |
| - name: CILIUM_K8S_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: metadata.namespace | |
| - name: CILIUM_DEBUG | |
| valueFrom: | |
| configMapKeyRef: | |
| key: debug | |
| name: cilium-config | |
| optional: true | |
| - name: KUBERNETES_SERVICE_HOST | |
| value: "localhost" | |
| - name: KUBERNETES_SERVICE_PORT | |
| value: "7445" | |
| ports: | |
| - name: prometheus | |
| containerPort: 9963 | |
| hostPort: 9963 | |
| protocol: TCP | |
| livenessProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9234 | |
| scheme: HTTP | |
| initialDelaySeconds: 60 | |
| periodSeconds: 10 | |
| timeoutSeconds: 3 | |
| readinessProbe: | |
| httpGet: | |
| host: "127.0.0.1" | |
| path: /healthz | |
| port: 9234 | |
| scheme: HTTP | |
| initialDelaySeconds: 0 | |
| periodSeconds: 5 | |
| timeoutSeconds: 3 | |
| failureThreshold: 5 | |
| volumeMounts: | |
| - name: cilium-config-path | |
| mountPath: /tmp/cilium/config-map | |
| readOnly: true | |
| securityContext: | |
| allowPrivilegeEscalation: false | |
| capabilities: | |
| drop: | |
| - ALL | |
| terminationMessagePolicy: FallbackToLogsOnError | |
| hostNetwork: true | |
| restartPolicy: Always | |
| priorityClassName: system-cluster-critical | |
| serviceAccountName: "cilium-operator" | |
| automountServiceAccountToken: true | |
| # In HA mode, cilium-operator pods must not be scheduled on the same | |
| # node as they will clash with each other. | |
| affinity: | |
| podAntiAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| - labelSelector: | |
| matchLabels: | |
| io.cilium/app: operator | |
| topologyKey: kubernetes.io/hostname | |
| nodeSelector: | |
| kubernetes.io/os: linux | |
| tolerations: | |
| - key: node-role.kubernetes.io/control-plane | |
| operator: Exists | |
| - key: node-role.kubernetes.io/master | |
| operator: Exists | |
| - key: node.kubernetes.io/not-ready | |
| operator: Exists | |
| - key: node.cloudprovider.kubernetes.io/uninitialized | |
| operator: Exists | |
| - key: node.cilium.io/agent-not-ready | |
| operator: Exists | |
| volumes: | |
| - name: cilium-config-path | |
| configMap: | |
| name: cilium-config |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment