{"id":806,"date":"2020-05-01T19:12:34","date_gmt":"2020-05-01T17:12:34","guid":{"rendered":"https:\/\/loeilduse.fr\/?p=806"},"modified":"2021-05-26T15:12:31","modified_gmt":"2021-05-26T13:12:31","slug":"deployer-kubeapps","status":"publish","type":"post","link":"https:\/\/loeilduse.fr\/?p=806&lang=fr","title":{"rendered":"D\u00e9ployer Kubeapps"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-812 aligncenter\" src=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-1024x517.jpg\" alt=\"\" width=\"377\" height=\"190\" srcset=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-1024x517.jpg 1024w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-300x151.jpg 300w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-768x387.jpg 768w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-1536x775.jpg 1536w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog.jpg 1919w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Kubeapps est un projet Bitnami. Bitnami a \u00e9t\u00e9 rachet\u00e9 par VMware en 2019 et fait partie maintenant de la gamme Tanzu et se nomme Tanzu Application Catalog. Kubeapps est un catalogue de d\u00e9ploiement et de management d\u2019applications et de services. Il arrive d\u00e9j\u00e0 connect\u00e9 \u00e0 la marketplace bitnami et il est possible de synchroniser une registry type docker. <a href=\"https:\/\/bitnami.com\/kubernetes\/kubeapps\">https:\/\/bitnami.com\/kubernetes\/kubeapps<\/a><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">La documentation d\u2019installation est assez bien faite, je n\u2019ai trouv\u00e9 de complexit\u00e9, juste un peu de vigilance au niveau des r\u00f4les si vous \u00eates en production. Un utilisateur peut avoir un acc\u00e8s en lecture seul et\/ou en lecture\/\u00e9criture (n\u00e9cessaire pour d\u00e9ployer des applications), le scope des droits peut \u00eatre le cluster et\/ou le namespace. L\u2019utilisateur \u00e0 la possibilit\u00e9 de cr\u00e9er des namespaces pour y d\u00e9ployer des applications. <a href=\"https:\/\/github.com\/kubeapps\/kubeapps\">https:\/\/github.com\/kubeapps\/kubeapps<\/a><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Installation via Helm (version 3 dans mon exemple)<\/span><\/p>\n<p><span style=\"font-family: terminal, monaco, monospace;\">$ helm repo add bitnami <a href=\"https:\/\/charts.bitnami.com\/bitnami\">https:\/\/charts.bitnami.com\/bitnami<\/a><\/span><\/p>\n<p><span style=\"font-family: terminal, monaco, monospace;\">$ kubectl create namespace kubeapps<\/span><\/p>\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"color: #ff0000;\"><em><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">(attention il y a deux tirets normalement, je ne sais pas pourquoi WordPress en affiche qu&#8217;un. Si vous faites un copi\u00e9\/coll\u00e9, enlever le tiret et en mettre deux \u00e0 la place)<\/span><\/em><\/span><\/strong><\/span><\/p>\n<p><span style=\"font-family: terminal, monaco, monospace;\">$ helm install kubeapps &#8211;namespace kubeapps bitnami\/kubeapps &#8211;set useHelm3=true &#8211;set frontend.service.type=LoadBalancer<br \/>\n<\/span><\/p>\n<p><em>\u00a0<\/em><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Cr\u00e9er un compte et le r\u00f4le pourvoir acc\u00e9der \u00e0 Kubeapps et pour installer des applications, cr\u00e9er des namespace directement depuis l\u2019interface. R\u00e9cup\u00e9rez le token pour se logger \u00e0 l\u2019interface<\/span><\/p>\n<p><span style=\"font-family: courier new, courier, monospace;\">$ kubectl create -n default serviceaccount <strong>loeilduse<\/strong><\/span><\/p>\n<p><span style=\"font-family: courier new, courier, monospace;\">$ kubectl create clusterrolebinding <strong>loeilduse<\/strong> &#8211;clusterrole cluster-admin &#8211;serviceaccount=default:<strong>loeilduse<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: courier new, courier, monospace;\">$ kubectl get -n default secret $(kubectl get -n default serviceaccount <strong>loeilduse<\/strong> -o jsonpath='{.secrets[].name}&#8217;) -o go-template='{{.data.token | base64decode}}&#8217; &amp;&amp; echo<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">R\u00e9cup\u00e9rer le token, il sera demand\u00e9 lors de la connexion \u00e0 Kubeapps via le navigateur (ci-dessous un exemple)<\/span><\/p>\n<p><span style=\"font-family: courier new, courier, monospace; font-size: 8pt;\">eyJhbGciOiJSUzI1NiIsImtpZCI6IkV5bEdwMDU2dkVqTld5dFJtR03RHNVSmhmd09rc1licnJFSm81Nm1EZ3MifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImxvZWlsZHVzZS10b2tlbi1yOGJiZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZShY2NvdW50Lm5hbWUiOiJsb2VpbGR1c2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NTMwZjZmNy1jMzEzLTQ5MzctODY2ZS1mMDUwNzY0YmI0MDEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpb2VpbGR1c2UifQ.kTZhrfFXrOS-S2a3x6oiyO6mqi7d62lrsmy-pTLpFX-XsjAK8NZQ95WaKqJ1gHkQfJa4ah-gvSQOVeI0y8-TueS24iAbrMfFwuocbHOJa6d9x9dfBSNGfxgW2DZaA22TokAVm_VT_DmFbV7uqsOSdFNRC6GnogoUmaO0P2-X1A8HHXuur04zRU5pH-8kNUrmIclIlpUPIaDlkRV1v94nZfn1S0RswG4wzTY1IeqQn4Nn5vh9XKfavp7l42vSWH7F0AHnkpTpY94GN8TNVoninPBkl5ktcF6PZJ7qbYlEK4wz5Y_cEgJFArGYn3kaihzZ aZsAH7a6scVsk7KcTuYRQ<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">R\u00e9cup\u00e9rer l\u2019IP fournit par le service Load Balancer<\/span><\/p>\n<p><span style=\"font-family: courier new, courier, monospace;\">$ Kubectl get svc -n kubeapps<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Ouvrir la page web avec l\u2019IP fourni par le load balancer et renseigner le token r\u00e9cup\u00e9r\u00e9\u00a0:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-809 aligncenter\" src=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-1024x755.jpg\" alt=\"\" width=\"696\" height=\"513\" srcset=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-1024x755.jpg 1024w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-300x221.jpg 300w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-768x566.jpg 768w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token.jpg 1304w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Si vous avez le message ci-dessous, revoyez la partie cr\u00e9ation user\/droit d\u00e9crite juste avant<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-810 aligncenter\" src=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-failed-1024x134.jpg\" alt=\"\" width=\"696\" height=\"91\" srcset=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-failed-1024x134.jpg 1024w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-failed-300x39.jpg 300w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-failed-768x101.jpg 768w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-failed-1536x201.jpg 1536w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-token-failed.jpg 1648w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Vous devriez avoir ces types d\u2019\u00e9crans<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-811 aligncenter\" src=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-apps-1024x303.jpg\" alt=\"\" width=\"696\" height=\"206\" srcset=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-apps-1024x303.jpg 1024w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-apps-300x89.jpg 300w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-apps-768x228.jpg 768w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-apps-1536x455.jpg 1536w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-apps.jpg 1917w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-812 aligncenter\" src=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-1024x517.jpg\" alt=\"\" width=\"696\" height=\"351\" srcset=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-1024x517.jpg 1024w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-300x151.jpg 300w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-768x387.jpg 768w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog-1536x775.jpg 1536w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-catlog.jpg 1919w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: trebuchet ms, geneva, sans-serif;\">Lorsque vous d\u00e9ployez des applications depuis le catalogue Kubeapps, n\u2019oubliez pas de modifier le fichier yaml si vous voulez y acc\u00e9der depuis l\u2019ext\u00e9rieur de votre cluster Kubernetes. Ci-dessous, un exemple de d\u00e9ploiement de Dokuwiki pour qu&#8217;il soit accessible via un load balancer (voir tout en bas) :<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-813 aligncenter\" src=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-yaml.jpg\" alt=\"\" width=\"506\" height=\"765\" srcset=\"https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-yaml.jpg 506w, https:\/\/loeilduse.fr\/wp-content\/uploads\/2020\/05\/kubeapp-yaml-198x300.jpg 198w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kubeapps est un projet Bitnami. Bitnami a \u00e9t\u00e9 rachet\u00e9 par VMware en 2019 et fait partie maintenant de la gamme Tanzu et se nomme Tanzu Application Catalog. Kubeapps est un catalogue de d\u00e9ploiement et de management d\u2019applications et de services. Il arrive d\u00e9j\u00e0 connect\u00e9 \u00e0 la marketplace bitnami et il est possible de synchroniser une<\/p><\/div>\n<div class=\"blog-btn\"><a href=\"https:\/\/loeilduse.fr\/?p=806&#038;lang=fr\" class=\"home-blog-btn\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[147],"tags":[166,158,165,164,29,157,28,163,161,162,159,149,160],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/loeilduse.fr\/index.php?rest_route=\/wp\/v2\/posts\/806"}],"collection":[{"href":"https:\/\/loeilduse.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/loeilduse.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/loeilduse.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/loeilduse.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=806"}],"version-history":[{"count":15,"href":"https:\/\/loeilduse.fr\/index.php?rest_route=\/wp\/v2\/posts\/806\/revisions"}],"predecessor-version":[{"id":1015,"href":"https:\/\/loeilduse.fr\/index.php?rest_route=\/wp\/v2\/posts\/806\/revisions\/1015"}],"wp:attachment":[{"href":"https:\/\/loeilduse.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/loeilduse.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/loeilduse.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}