Last active
November 3, 2023 20:05
-
-
Save esomore/bf6e5ff2fe9d7ca480087beb8e9ea0dd to your computer and use it in GitHub Desktop.
cilium 1.14.3 for talos
This file contains 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-agent/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: "cilium" | |
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: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGRENDQWZ5Z0F3SUJBZ0lSQVB2QXRFNjFVcG1PNjBPM2M5cmlHdUF3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEl6TVRFd016SXdNRFF6T1ZvWERUSTJNVEV3TWpJdwpNRFF6T1Zvd0ZERVNNQkFHQTFVRUF4TUpRMmxzYVhWdElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUExeDJ2bDVZSzFlOHdVdGN4bmxxV0tuWEZDVVRIZ0tlNU12V2k1V0o3WGprYXhtTEcKangvL09XVDBaNDBVQ21EaDd5cEVFdWJ3bm1mZlZnU245MWtobkh5ZFdhZTlQclJTbUJzeEtlc3QwcWdIQ1F2NwpwT3JBbTR1aERJMXlvbnRnQnNQcnBuL2ZMQ0NoUWJ5WnEwY1lOQkhTdEVXOXV4eHZvOGR2cG94ZWRPRmNGUzMvCk9qODJWWGpZeXBxbzZFZVR3cnc5eEpwWlJyODg1Mjl2K0dtVnNYTWJUWUYwMTQ0bkRRZlpkVEIyRTcwWldPMkcKOFl6TEtFTkp3ODd6amFxY2tpOHpiUUhIQ0VzcE42RkpNdzdsckVLS3BERTNJbTlqUk1lUTYzYVFHaUNBTmJrWgpaeUtlTzhYZnJUSm05aFlqOGNSRzJwZHBGSGN1aUdxaldETURiUUlEQVFBQm8yRXdYekFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGQnVUQnlhZTZkb0tVZnFoeWYzcHBYc2FlcjZFTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQWZPSDJKVitCandpRERhNVgyL2VPZkJnM0VuVUZKZzB2Z1N3OGZYMDQ3VWc2aGVDK09zeC93Cmd0K2YzL3ZhbmQ4YnZrU0NMZk5hVFE3a1hKMVhjWmVJMHI1NXZ6NGR5YjlDMEVzZFpkczU0M2k1Wi9PRmFraEEKcExJKzN0TjkxZkYyUUpMZitiblZDOGNtc0lYNFd5bWpRS1h2anlsd20reHlOM3QrdFZoRGplSnFqTzUwdUEzbwo5YjA1cURFYVJPb2N6OEdicUlxcGIyd1FoKzZlZUU1VlRCTDZ5KzloYTl5SEFsajkrclhzWXRVNEJCRFVwbmF2CmkzazFVK3hDQWt6emNRNmdCb2VMUVNNbmNIYnVpNDQxaWVDT2lFTGxqTHlNelhhQ0xmV2FnT1hWdjBsL0Qyb3QKWTE3bmJpdTFQN3ovK2VYblBueFVrc1pJTXBPVno2V0YKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= | |
ca.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMXgydmw1WUsxZTh3VXRjeG5scVdLblhGQ1VUSGdLZTVNdldpNVdKN1hqa2F4bUxHCmp4Ly9PV1QwWjQwVUNtRGg3eXBFRXVid25tZmZWZ1NuOTFraG5IeWRXYWU5UHJSU21Cc3hLZXN0MHFnSENRdjcKcE9yQW00dWhESTF5b250Z0JzUHJwbi9mTENDaFFieVpxMGNZTkJIU3RFVzl1eHh2bzhkdnBveGVkT0ZjRlMzLwpPajgyVlhqWXlwcW82RWVUd3J3OXhKcFpScjg4NTI5ditHbVZzWE1iVFlGMDE0NG5EUWZaZFRCMkU3MFpXTzJHCjhZekxLRU5Kdzg3emphcWNraTh6YlFISENFc3BONkZKTXc3bHJFS0twREUzSW05alJNZVE2M2FRR2lDQU5ia1oKWnlLZU84WGZyVEptOWhZajhjUkcycGRwRkhjdWlHcWpXRE1EYlFJREFRQUJBb0lCQUZ1blAxQlQwbXdTVEVHUApoSW1XeVJKd09USll4clBQUW40dTRHZmhqUFM1V2VvYTNjVFBlanZuQXFjNEdjak9QSlZkS2NIdithZFVWSGplCjVQM2pVUW5Pb25BM29zOGJuM0ZGYks0U2tPU0hTUEFXMWZJUFAxOUduNmlzZjZJdzlOb05FZE5QK2pOZjk3VDkKZVcvYmk3bHJ1cDJxZFV0S3MxcFJ1QVY3R3llcXNVY0xvck1oUWxIdm80L1dOUlVtdDNMaFNnYUNBdmp6cThrWQp0Vk5ma2QzSTVJa0tNdTdaRDJ1WWhrbW40eWRubi9nMVA3Zk4rUS9rWXg2dnVXRU10YU0xdFVLbjRNUjlFMTFlClNHQkpTa2tJaHlpMUVtMStxYW0rQjlPNHhHd2NOWHhtRGl2MFBDNXVUYkpVWVd6aXNWYmxvMUs5cDFza0twaW0KVHhZMTlnRUNnWUVBN2NGL1pDOWRUZk4wMzdQOXNKSnAwcTRVdmVmZXhnTk95ZDc2TmM0Vy9ob3VTTEY5NC9aVApjMStMVWVld095dWtmS2pLK2NtUDdkZE1Bci9RTlNrNjVDZ0RkU0RLNm9KT3JVUko1dmJ6S0VQbEw3S2QxZUZLCnZmby9rS3lJYUxzaW5DL1JwZTdoVXBaL1poaGwwNTc4WWFtdzRCZEZtc0hEaDE1SjI5ckpRKzBDZ1lFQTU1OXkKb1dYcitGeHNZaklsb1VwY3RVajZseTJ5RXA0UFNkN2JuTUlMeEVFbGJhUmdyVlpKaXVJSGRxZUNWTkp6emF5dgpqcFgvalU3SitsVk1pTUNGQ2Z2WksrRmI4NWlXOTYzQ1NTZW9Ud01SZ1l4WlU1SU03NE1aM20rdVBlcWRuSUd0CllCSHRMN2FyL2VYdmtvTSthU21aOE5sVkVhTUx3ckt0bW15UHpZRUNnWUVBd29RV3AyNmcxWStqUlFwTE9kVHYKd3pBdFJCbWFCMExaaVF0bWhmS3dtUC91Y2diVXlsYlRlNGJsd3dMZENldnd6UlNEeTh6K2RrWTRwOThxaHZQTwpmSy9IOUdINTRkYnVhNDk5THZ0SGdOL2JlQ1NZUVUzckNuYmMzbzVwbzlYR3dTWFdUZjJjVnlkTjM4ZUNONXJSClBVM0pxZTBnUXpiWHM3Nk9pdEw2NnhrQ2dZRUFxZjFKZ2M1dGlrODZkQzdka3l3aU1pSW5WNEIvNmszNlpucWEKcnNkekgwdTRqbWxQVXFlN1BhUjVXY25DUzBKUkh5ZVhpSXZwaStuQkxtb2Z5MVdQemkzNXlzeVFVWTB4YndFbApUODg5SlEvWmJ6eHo2bk9MN3RSR3pnc2swK2cyV0VDTDM3QUlaVFlwc0NOcTJocGNXWTNnbnZUQ0REbWZUZnNZCmtmY082d0VDZ1lCWUhkbFQyZ091SVErT3hzbzJidVFSUzFjcjBrRVNtaXE5QmVIUUl2MXBEMkk0QXQ0ZU83azQKMGNSc1pJYmJMQitIK3dLc0hjL2hRQVorZ25JU0hjSWVuWUhCN214ZHBFenVLSnpoYzA4WG5MMHcrd3FWR1BlOApUUlAzdlhhcng2UFZaanNGeDAxQnhJN0NwSFI2dkNLWUZDU0xQaktqcTdxMVArZ0k3d1h5UGc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= | |
--- | |
# 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: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGRENDQWZ5Z0F3SUJBZ0lSQVB2QXRFNjFVcG1PNjBPM2M5cmlHdUF3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEl6TVRFd016SXdNRFF6T1ZvWERUSTJNVEV3TWpJdwpNRFF6T1Zvd0ZERVNNQkFHQTFVRUF4TUpRMmxzYVhWdElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUExeDJ2bDVZSzFlOHdVdGN4bmxxV0tuWEZDVVRIZ0tlNU12V2k1V0o3WGprYXhtTEcKangvL09XVDBaNDBVQ21EaDd5cEVFdWJ3bm1mZlZnU245MWtobkh5ZFdhZTlQclJTbUJzeEtlc3QwcWdIQ1F2NwpwT3JBbTR1aERJMXlvbnRnQnNQcnBuL2ZMQ0NoUWJ5WnEwY1lOQkhTdEVXOXV4eHZvOGR2cG94ZWRPRmNGUzMvCk9qODJWWGpZeXBxbzZFZVR3cnc5eEpwWlJyODg1Mjl2K0dtVnNYTWJUWUYwMTQ0bkRRZlpkVEIyRTcwWldPMkcKOFl6TEtFTkp3ODd6amFxY2tpOHpiUUhIQ0VzcE42RkpNdzdsckVLS3BERTNJbTlqUk1lUTYzYVFHaUNBTmJrWgpaeUtlTzhYZnJUSm05aFlqOGNSRzJwZHBGSGN1aUdxaldETURiUUlEQVFBQm8yRXdYekFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGQnVUQnlhZTZkb0tVZnFoeWYzcHBYc2FlcjZFTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQWZPSDJKVitCandpRERhNVgyL2VPZkJnM0VuVUZKZzB2Z1N3OGZYMDQ3VWc2aGVDK09zeC93Cmd0K2YzL3ZhbmQ4YnZrU0NMZk5hVFE3a1hKMVhjWmVJMHI1NXZ6NGR5YjlDMEVzZFpkczU0M2k1Wi9PRmFraEEKcExJKzN0TjkxZkYyUUpMZitiblZDOGNtc0lYNFd5bWpRS1h2anlsd20reHlOM3QrdFZoRGplSnFqTzUwdUEzbwo5YjA1cURFYVJPb2N6OEdicUlxcGIyd1FoKzZlZUU1VlRCTDZ5KzloYTl5SEFsajkrclhzWXRVNEJCRFVwbmF2CmkzazFVK3hDQWt6emNRNmdCb2VMUVNNbmNIYnVpNDQxaWVDT2lFTGxqTHlNelhhQ0xmV2FnT1hWdjBsL0Qyb3QKWTE3bmJpdTFQN3ovK2VYblBueFVrc1pJTXBPVno2V0YKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= | |
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURWekNDQWorZ0F3SUJBZ0lSQU9TUmtObEMyQkdSRWkyYk1LeHJCT3d3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEl6TVRFd016SXdNRFEwTUZvWERUSTJNVEV3TWpJdwpNRFEwTUZvd0tqRW9NQ1lHQTFVRUF3d2ZLaTVrWldaaGRXeDBMbWgxWW1Kc1pTMW5jbkJqTG1OcGJHbDFiUzVwCmJ6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtPTDh1TVFyWG1MOFZPRnZoTFUKRzh1L2FFVTg3Ry9RMWpncUVFZklTRlNIM1FXazVUakdOWi9ETkp5eU83ckNiVi96OFRDa3ZRWG5pVXV1ZWpsTgpnUFhHaythRERGUURjUFdady9tb0tONnVNd2gzcWwrMmFMdlJuckZicmpYRVBqNHlPK0tPKzZBUmJxYkoya2kyCndINHg5MEdSL05LY1dwQVIvbVppWlRRSGNWNDVoU01ReEhQSDFXVFA3VkgyYVJiV2EvbEVVUGEwUURNOUZORGIKMDVCTk55K05JVGxjU3BPazJjbyt6ck14UVpjTGdCVUNzQnNYcXJONXJXSkRxUlRrNzhwQjBOK2MxMzA1L0tWLwpwRk9PbVFCZWp5V05IdnZPdVhtTnNTNkdVWXpOeXJ0Vnh1K1ZOVWZmOTRIUzUyU05rNFMvZU4wV1QwUjc2SFhICmxWOENBd0VBQWFPQmpUQ0JpakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUgKQXdFR0NDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SHdZRFZSMGpCQmd3Rm9BVUc1TUhKcDdwMmdwUgorcUhKL2VtbGV4cDZ2b1F3S2dZRFZSMFJCQ013SVlJZktpNWtaV1poZFd4MExtaDFZbUpzWlMxbmNuQmpMbU5wCmJHbDFiUzVwYnpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUY2dC9OWWtRRFlZa3phMS9yV1BaZWtnZUUzQzgKdUVvUFpTNHNzTGhTK3M2M1MyVUM2QkRTRVZBcjcreUZzdlkxSFMyaU9FR0dzd2hrVEpQNGpRenJIVmlraGZjKwo2a2sydXYzcFpjUko2M3RCU2tqMjZkTWxIUUFIT2U3V3g3QS9LK3NEWmNnU0svUXF3akJsaWJSZWx0c2w3MkJPClJBVEloWHdWUk5uSG5mZGdwaXJtdWluOEZ6R3duUGs0QTBibVNXNkw5VE5WWmpTZC91WmhRRWlaWWR1aURRWTMKQzZyQ2FhVFFNTkljdEhGV21RQzU1N0QxRDR1bjlHbHJFYVVNWGw3UVZUU3hhN0dtMjg3YVZLK0J4TmRQUU10ZApQNEtMbkY5UTlkTkpVZ3N3bEswQVlVOEhQcXVaR2cxK0JxWm0zNzJ1OFFSdE5YN0w5T3pFUjBYSHJBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= | |
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBbzR2eTR4Q3RlWXZ4VTRXK0V0UWJ5NzlvUlR6c2I5RFdPQ29RUjhoSVZJZmRCYVRsCk9NWTFuOE0wbkxJN3VzSnRYL1B4TUtTOUJlZUpTNjU2T1UyQTljYVQ1b01NVkFOdzlabkQrYWdvM3E0ekNIZXEKWDdab3U5R2VzVnV1TmNRK1BqSTc0bzc3b0JGdXBzbmFTTGJBZmpIM1FaSDgwcHhha0JIK1ptSmxOQWR4WGptRgpJeERFYzhmVlpNL3RVZlpwRnRacitVUlE5clJBTXowVTBOdlRrRTAzTDQwaE9WeEtrNlRaeWo3T3N6RkJsd3VBCkZRS3dHeGVxczNtdFlrT3BGT1R2eWtIUTM1elhmVG44cFgra1U0NlpBRjZQSlkwZSs4NjVlWTJ4TG9aUmpNM0sKdTFYRzc1VTFSOS8zZ2RMblpJMlRoTDk0M1JaUFJIdm9kY2VWWHdJREFRQUJBb0lCQUJIeWtiMEpYNEF2TTFTUApJTVRBTWl5eDNLZDhnQlhsUFJ6OHdMeWY1aEFndU1pZHgrbnJGb2RwektSRml2aDd6YlR4K0UzMlJpZ1h1S0Z0CmpFd3RqVEZya1YrQ2toL0dJT2RTOElhOVJYN3FidjlHNHBPT1dRQURpUDY5cU9pTm1LY0tyRGU0cVRSdnRVem8KYWVRQTZpN3ZITXM5VWhscXZ5V0FWQUs0V1pMVDhVcEt2SGtQOVVUYmJvZXRMZVhscjNkOFQ3OFc2cFc5ZGlpOAp0OFhMOHpPb205ZGlRZSt4eGdPVmM5SUtiK0ZoTkRXbDN0bHRJakUzMldaRU9vTjhFaC9lTVhPS0tiVFFwODV3ClJEaVJRVU5yMi9Od0VjS0dWbmZaYU5zYXBxcW1MbXpXWm5iWHV4eEc1VXVLbDdPNFBkbGRXY2VRb2dlZHVQY1AKdHhkQkY0RUNnWUVBd1lxV3RJMHNEUHNWeDRFUXYweHRwM0xhZkxWeHhyOTlqbkxkd1ZFNmdEZ2pybTZITWFNNwpBVFFVcDNWUjc0NFFneWM3SzA2cEZLdkJDS3FBS0E3MVMxTkZEZThWck9PSWRFTVd2TFZqZGU2NTlvV3IwM2J2Ckc3K011NjZrLzVlYXZmWldqbXhlZjVtai81Q2ZSYnZOYithY05WeEhaZG1Pb2RBYU1PQ2F3cGNDZ1lFQTJGTloKck5ydXZpSmpWdlpvc3VVNmluOW1kbWUvK0ltQ0JHVnVabnp2VUlLOW9LeVdqQ0tyZWlsVjE0TFZjL0JvbHVWWQprazdrdWZhRzh2bGxzOEJyZnpmSit0cDVhS1gvYjRFS1lZS1JKeHUvM3BhL0U5MlphODZoRTQ3Ny9wSXhCUm1SCm1jN2pScCtmdGxkSzFKTU5HWGExdmFtcUlxcXhoRWRkZ3ZCS3hIa0NnWUVBdTZvaFJZTVpzcUNJVnNHc05vSHEKVlpLRmpxVDFaTXpxOXdRa1NEMzJKcnZJeFd1QkJiMk1DamV3eTB0MEhuKzNQU1QrTjVqM1ZBYlNqdytjWXJ0VwpXQ3F1NjdyblhwUG1EUzI4VDFEbTEwU2E1eEpvTVF6Qy96bjJRVW92elhINFpyZ0U1K2Jtbm4yZ3lyODE0UTBnClA1L3gyYi9YcjBlTUNSVGJRSWVaS0pNQ2dZQUpKS3k3bzUxSHFBaHUyb2RlV0ZYN0dKdHFFY1NKYXJaMkhSdG4KZFl4ZjZNYS9EY3huSytmM2g5dTYraXF2ZGMvVjRPZTNkMkl2Z2YzK014QmJZcHlvaWVFZG16SmFlL21wNnRoWAplcjlMMmQ1b09CTG5jZ3hVQkMzR3Q5cHF6aDhJU2laZlMrRkxVTi9kUXg5RWtOcVM0dk9YaXA1SVROS245cVE3CkxwRGFjUUtCZ0Q0cTI2TktGU3BqQUJWNlBTNEx2L0dhSzdEN2kvbFZoOEhmUC9hVXVTMTFwWTFIRWpYL0d4c0sKODA4NUp5Y2xGVkVKQms4aW53NVczV2h0RGgwdzMzek5LWWRRVWJnaXBNanRpcWNsTVJJSmRMcXV4Ui9VM0J0Ugp3cUZJQnRTRVdHblBjMnZlUzNjbmlqeWJHd2ZUR0NXMyt2dUdNb1IzaE14dmV6ZkJGUkNUCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== | |
--- | |
# Source: cilium/templates/cilium-configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: cilium-config | |
namespace: kube-system | |
data: | |
# Identity allocation mode selects how identities are shared between cilium | |
# nodes by setting how they are stored. The options are "crd" or "kvstore". | |
# - "crd" stores identities in kubernetes as CRDs (custom resource definition). | |
# These can be queried with: | |
# kubectl get ciliumid | |
# - "kvstore" stores identities in an etcd kvstore, that is | |
# configured below. Cilium versions before 1.6 supported only the kvstore | |
# backend. Upgrades from these older cilium versions should continue using | |
# the kvstore by commenting out the identity-allocation-mode below, or | |
# setting it to "kvstore". | |
identity-allocation-mode: crd | |
identity-heartbeat-timeout: "30m0s" | |
identity-gc-interval: "15m0s" | |
cilium-endpoint-gc-interval: "5m0s" | |
nodes-gc-interval: "5m0s" | |
skip-cnp-status-startup-clean: "false" | |
# If you want to run cilium in debug mode change this value to true | |
debug: "false" | |
debug-verbose: "" | |
# The agent can be put into the following three policy enforcement modes | |
# default, always and never. | |
# https://docs.cilium.io/en/latest/security/policy/intro/#policy-enforcement-modes | |
enable-policy: "default" | |
# Port to expose Envoy metrics (e.g. "9964"). Envoy metrics listener will be disabled if this | |
# field is not set. | |
proxy-prometheus-port: "9964" | |
# Enable IPv4 addressing. If enabled, all endpoints are allocated an IPv4 | |
# address. | |
enable-ipv4: "true" | |
# Enable IPv6 addressing. If enabled, all endpoints are allocated an IPv6 | |
# address. | |
enable-ipv6: "false" | |
# Users who wish to specify their own custom CNI configuration file must set | |
# custom-cni-conf to "true", otherwise Cilium may overwrite the configuration. | |
custom-cni-conf: "false" | |
enable-bpf-clock-probe: "false" | |
# If you want cilium monitor to aggregate tracing for packets, set this level | |
# to "low", "medium", or "maximum". The higher the level, the less packets | |
# that will be seen in monitor output. | |
monitor-aggregation: medium | |
# The monitor aggregation interval governs the typical time between monitor | |
# notification events for each allowed connection. | |
# | |
# Only effective when monitor aggregation is set to "medium" or higher. | |
monitor-aggregation-interval: "5s" | |
# The monitor aggregation flags determine which TCP flags which, upon the | |
# first observation, cause monitor notifications to be generated. | |
# | |
# Only effective when monitor aggregation is set to "medium" or higher. | |
monitor-aggregation-flags: all | |
# Specifies the ratio (0.0-1.0] of total system memory to use for dynamic | |
# sizing of the TCP CT, non-TCP CT, NAT and policy BPF maps. | |
bpf-map-dynamic-size-ratio: "0.0025" | |
# bpf-policy-map-max specifies the maximum number of entries in endpoint | |
# policy map (per endpoint) | |
bpf-policy-map-max: "16384" | |
# bpf-lb-map-max specifies the maximum number of entries in bpf lb service, | |
# backend and affinity maps. | |
bpf-lb-map-max: "65536" | |
bpf-lb-external-clusterip: "false" | |
# Pre-allocation of map entries allows per-packet latency to be reduced, at | |
# the expense of up-front memory allocation for the entries in the maps. The | |
# default value below will minimize memory usage in the default installation; | |
# users who are sensitive to latency may consider setting this to "true". | |
# | |
# This option was introduced in Cilium 1.4. Cilium 1.3 and earlier ignore | |
# this option and behave as though it is set to "true". | |
# | |
# If this value is modified, then during the next Cilium startup the restore | |
# of existing endpoints and tracking of ongoing connections may be disrupted. | |
# As a result, reply packets may be dropped and the load-balancing decisions | |
# for established connections may change. | |
# | |
# If this option is set to "false" during an upgrade from 1.3 or earlier to | |
# 1.4 or later, then it may cause one-time disruptions during the upgrade. | |
preallocate-bpf-maps: "false" | |
# Regular expression matching compatible Istio sidecar istio-proxy | |
# container image names | |
sidecar-istio-proxy-image: "cilium/istio_proxy" | |
# Name of the cluster. Only relevant when building a mesh of clusters. | |
cluster-name: default | |
# Unique ID of the cluster. Must be unique across all conneted clusters and | |
# in the range of 1 and 255. Only relevant when building a mesh of clusters. | |
cluster-id: "0" | |
# Encapsulation mode for communication between nodes | |
# Possible values: | |
# - disabled | |
# - vxlan (default) | |
# - geneve | |
# Default case | |
routing-mode: "tunnel" | |
tunnel-protocol: "vxlan" | |
# Enables L7 proxy for L7 policy enforcement and visibility | |
enable-l7-proxy: "true" | |
enable-ipv4-masquerade: "true" | |
enable-ipv4-big-tcp: "false" | |
enable-ipv6-big-tcp: "false" | |
enable-ipv6-masquerade: "true" | |
enable-xt-socket-fallback: "true" | |
install-no-conntrack-iptables-rules: "false" | |
auto-direct-node-routes: "false" | |
enable-local-redirect-policy: "false" | |
kube-proxy-replacement: "true" | |
kube-proxy-replacement-healthz-bind-address: "" | |
bpf-lb-sock: "false" | |
enable-health-check-nodeport: "true" | |
node-port-bind-protection: "true" | |
enable-auto-protect-node-port-range: "true" | |
enable-svc-source-range-check: "true" | |
enable-l2-neigh-discovery: "true" | |
arping-refresh-period: "30s" | |
enable-k8s-networkpolicy: "true" | |
# Tell the agent to generate and write a CNI configuration file | |
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" | |
enable-well-known-identities: "false" | |
enable-remote-node-identity: "true" | |
synchronize-k8s-nodes: "true" | |
operator-api-serve-addr: "127.0.0.1:9234" | |
# Enable Hubble gRPC service. | |
enable-hubble: "true" | |
# UNIX domain socket for Hubble server to listen to. | |
hubble-socket-path: "/var/run/cilium/hubble.sock" | |
# An additional address for Hubble server to listen to (e.g. ":4244"). | |
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" | |
disable-cnp-status-updates: "true" | |
cnp-node-status-gc-interval: "0s" | |
egress-gateway-reconciliation-trigger-interval: "1s" | |
enable-vtep: "false" | |
vtep-endpoint: "" | |
vtep-cidr: "" | |
vtep-mask: "" | |
vtep-mac: "" | |
enable-bgp-control-plane: "true" | |
procfs: "/host/proc" | |
bpf-root: "/sys/fs/bpf" | |
cgroup-root: "/sys/fs/cgroup" | |
enable-k8s-terminating-endpoint: "true" | |
enable-sctp: "false" | |
k8s-client-qps: "5" | |
k8s-client-burst: "10" | |
remove-cilium-node-taints: "true" | |
set-cilium-node-taints: "true" | |
set-cilium-is-up-condition: "true" | |
unmanaged-pod-watcher-interval: "15" | |
tofqdns-dns-reject-response-code: "refused" | |
tofqdns-enable-dns-compression: "true" | |
tofqdns-endpoint-max-ip-per-hostname: "50" | |
tofqdns-idle-connection-grace-period: "0s" | |
tofqdns-max-deferred-connection-deletes: "10000" | |
tofqdns-proxy-response-max-delay: "100ms" | |
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-connect-timeout: "2" | |
proxy-max-requests-per-connection: "0" | |
proxy-max-connection-duration-seconds: "0" | |
external-envoy-proxy: "false" | |
--- | |
# 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 | |
- 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: | |
- ciliumnetworkpolicies/status | |
- ciliumclusterwidenetworkpolicies/status | |
- ciliumendpoints/status | |
- ciliumendpoints | |
- ciliuml2announcementpolicies/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: | |
- 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 | |
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 | |
verbs: | |
- create | |
- update | |
- get | |
- list | |
- watch | |
- delete | |
- patch | |
- 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 | |
- ciliumclusterwideenvoyconfigs.cilium.io | |
- ciliumclusterwidenetworkpolicies.cilium.io | |
- ciliumegressgatewaypolicies.cilium.io | |
- ciliumendpoints.cilium.io | |
- ciliumendpointslices.cilium.io | |
- ciliumenvoyconfigs.cilium.io | |
- ciliumexternalworkloads.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 | |
- apiGroups: | |
- cilium.io | |
resources: | |
- ciliumloadbalancerippools | |
- ciliumpodippools | |
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/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/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: | |
# Set app AppArmor's profile to "unconfined". The value of this annotation | |
# can be modified as long users know which profiles they have available | |
# in AppArmor. | |
container.apparmor.security.beta.kubernetes.io/cilium-agent: "unconfined" | |
container.apparmor.security.beta.kubernetes.io/clean-cilium-state: "unconfined" | |
labels: | |
k8s-app: cilium | |
app.kubernetes.io/name: cilium-agent | |
app.kubernetes.io/part-of: cilium | |
spec: | |
containers: | |
- name: cilium-agent | |
image: "quay.io/cilium/cilium:v1.14.3@sha256:e5ca22526e01469f8d10c14e2339a82a13ad70d9a359b879024715540eef4ace" | |
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: 105 | |
periodSeconds: 2 | |
successThreshold: 1 | |
livenessProbe: | |
httpGet: | |
host: "127.0.0.1" | |
path: /healthz | |
port: 9879 | |
scheme: HTTP | |
httpHeaders: | |
- name: "brief" | |
value: "true" | |
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: KUBERNETES_SERVICE_HOST | |
value: "localhost" | |
- name: KUBERNETES_SERVICE_PORT | |
value: "7445" | |
lifecycle: | |
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: | |
# 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: 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.14.3@sha256:e5ca22526e01469f8d10c14e2339a82a13ad70d9a359b879024715540eef4ace" | |
imagePullPolicy: IfNotPresent | |
command: | |
- cilium | |
- 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 | |
# 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.14.3@sha256:e5ca22526e01469f8d10c14e2339a82a13ad70d9a359b879024715540eef4ace" | |
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.14.3@sha256:e5ca22526e01469f8d10c14e2339a82a13ad70d9a359b879024715540eef4ace" | |
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: 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 | |
resources: | |
requests: | |
cpu: 100m | |
memory: 100Mi # 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.14.3@sha256:e5ca22526e01469f8d10c14e2339a82a13ad70d9a359b879024715540eef4ace" | |
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 | |
serviceAccount: "cilium" | |
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 keep state between restarts / upgrades for bpf maps | |
- name: bpf-maps | |
hostPath: | |
path: /sys/fs/bpf | |
type: DirectoryOrCreate | |
# 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 | |
# 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 | |
- 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-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: | |
labels: | |
io.cilium/app: operator | |
name: cilium-operator | |
app.kubernetes.io/part-of: cilium | |
app.kubernetes.io/name: cilium-operator | |
spec: | |
containers: | |
- name: cilium-operator | |
image: "quay.io/cilium/operator-generic:v1.14.3@sha256:c9613277b72103ed36e9c0d16b9a17cafd507461d59340e432e3e9c23468b5e2" | |
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" | |
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 | |
terminationMessagePolicy: FallbackToLogsOnError | |
hostNetwork: true | |
restartPolicy: Always | |
priorityClassName: system-cluster-critical | |
serviceAccount: "cilium-operator" | |
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: | |
- operator: Exists | |
volumes: | |
# To read the configuration from the config map | |
- name: cilium-config-path | |
configMap: | |
name: cilium-config | |
--- | |
# Source: cilium/templates/cilium-secrets-namespace.yaml | |
# Only create the namespace if it's different from Ingress secret namespace or Ingress is not enabled. | |
# Only create the namespace if it's different from Ingress and Gateway API secret namespaces (if enabled). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment