Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
linux_faq:kubernetes_using_single_node_as_master_and_worker [2021/07/14 10:08] – [Cert manager] admin | linux_faq:kubernetes_using_single_node_as_master_and_worker [2021/10/07 11:49] – [Cert manager] admin | ||
---|---|---|---|
Line 116: | Line 116: | ||
С третьей версией **Helm** ничего в кластер ставить не нужно. Для использования достаточно бинарника и сконфигурированного **context** для доступа к кластеру. | С третьей версией **Helm** ничего в кластер ставить не нужно. Для использования достаточно бинарника и сконфигурированного **context** для доступа к кластеру. | ||
+ | ====== Обновление kubernetes ====== | ||
+ | смотрим какие версии **kubeadm** нам доступны | ||
+ | sudo apt-get update | ||
+ | apt-cache madison kubeadm | ||
+ | Разрешаем обновление **kubernetes-cni** и **kubeadm**: | ||
+ | sudo apt-mark unhold kubernetes-cni kubeadm | ||
+ | Ставим нужную версию **kubeadm**: | ||
+ | sudo apt-get install kubeadm=1.20.9-00 | ||
+ | Проверяем возможность апгрейда: | ||
+ | sudo kubeadm upgrade plan | ||
+ | Если у нас хост с **containerd** (без **docker**), | ||
+ | sudo apt-get install docker.io | ||
+ | Обновляем: | ||
+ | sudo kubeadm upgrade apply v1.20.9 | ||
+ | Разрешаем обновление **kubelet** и **kubectl** | ||
+ | sudo apt-mark unhold kubelet kubectl | ||
+ | И обновляем их до нужной версии: | ||
+ | sudo apt-get install -y kubelet=1.20.9-00 kubectl=1.20.9-00 | ||
+ | Морозим обратно версии пакетов: | ||
+ | sudo apt-mark hold kube* | ||
+ | Апгрейдим всю систему: | ||
+ | sudo apt-get update && sudo apt-get upgrade | ||
====== Доступ к подам снаружи ====== | ====== Доступ к подам снаружи ====== | ||
Для доступа к сервисам, | Для доступа к сервисам, | ||
Line 178: | Line 200: | ||
--namespace cert-manager \ | --namespace cert-manager \ | ||
--create-namespace \ | --create-namespace \ | ||
- | --version v1.4.0 \ | + | --version v1.5.4 \ |
--set installCRDs=true | --set installCRDs=true | ||
</ | </ | ||
Line 194: | Line 216: | ||
# certificates, | # certificates, | ||
email: mike@autosys.tk | email: mike@autosys.tk | ||
- | server: https:// | + | server: https:// |
privateKeySecretRef: | privateKeySecretRef: | ||
# Secret resource used to store the account' | # Secret resource used to store the account' | ||
Line 223: | Line 245: | ||
< | < | ||
https:// | https:// | ||
+ | https:// | ||
Итак, у нас установлен **MetalLB**, | Итак, у нас установлен **MetalLB**, | ||
В результате, | В результате, | ||
Line 255: | Line 278: | ||
В результате, | В результате, | ||
\\ | \\ | ||
- | Теперь нужно сконфигурировать **ACME Issuer** - это сущность, | + | Теперь нужно сконфигурировать **ACME Issuer** - это сущность, |
- | < | + | https:// |
+ | < | ||
+ | kubectl apply -f - << EOF | ||
+ | apiVersion: cert-manager.io/ | ||
kind: ClusterIssuer | kind: ClusterIssuer | ||
metadata: | metadata: | ||
name: letsencrypt | name: letsencrypt | ||
- | namespace: cert-manager | ||
spec: | spec: | ||
acme: | acme: | ||
Line 266: | Line 291: | ||
# Let's Encrypt will use this to contact you about expiring | # Let's Encrypt will use this to contact you about expiring | ||
# certificates, | # certificates, | ||
- | email: | + | email: |
- | server: https:// | + | server: https:// |
privateKeySecretRef: | privateKeySecretRef: | ||
- | # Secret resource used to store the account' | + | # Secret resource |
- | name: letsencrypt-cert-issuer-account-key | + | name: letsencrypt-issuer-account-key |
# Add a single challenge solver, HTTP01 using nginx | # Add a single challenge solver, HTTP01 using nginx | ||
solvers: | solvers: | ||
Line 276: | Line 301: | ||
ingress: | ingress: | ||
class: nginx | class: nginx | ||
+ | EOF | ||
</ | </ | ||
После того, как создан **Issuer** (в данном случае - **ClusterIssuer** с именем **letsencrypt**) можно добавить в манифест ингресса информацию о нем. Редактируем ресурс **Ingress** и приводим секцию **annotations** к виду: | После того, как создан **Issuer** (в данном случае - **ClusterIssuer** с именем **letsencrypt**) можно добавить в манифест ингресса информацию о нем. Редактируем ресурс **Ingress** и приводим секцию **annotations** к виду: |