init
This commit is contained in:
17
1.Cluster/README.md
Normal file
17
1.Cluster/README.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Подготовка
|
||||||
|
|
||||||
|
* Необходимо 3 ноды (с докером) с белыми адресами и балансер.
|
||||||
|
* Так же нужно подготовить субдомен для балансера и алиасы на него для
|
||||||
|
* argo
|
||||||
|
* keygloack
|
||||||
|
* id
|
||||||
|
|
||||||
|
## Управление
|
||||||
|
|
||||||
|
управлять будем с [линзы](https://k8slens.dev)
|
||||||
|
|
||||||
|
## Разворачиваем тестовый кластер
|
||||||
|
|
||||||
|
1. rke up
|
||||||
|
2. install cert-manager
|
||||||
|
3. install longhorn with 2 replicas in storageClass
|
||||||
21
1.Cluster/cert-issuer.yaml
Normal file
21
1.Cluster/cert-issuer.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: ClusterIssuer
|
||||||
|
metadata:
|
||||||
|
name: orc-letsencrypt-issuer
|
||||||
|
spec:
|
||||||
|
acme:
|
||||||
|
# The ACME server URL
|
||||||
|
server: https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
# Email address used for ACME registration
|
||||||
|
email: vasyakrg@gmail.com
|
||||||
|
# Name of a secret used to store the ACME account private key from step 3
|
||||||
|
privateKeySecretRef:
|
||||||
|
name: orc-letsencrypt-private-key
|
||||||
|
# Enable the HTTP-01 challenge provider
|
||||||
|
solvers:
|
||||||
|
# An empty selector will 'match' all Certificate resources that
|
||||||
|
# reference this Issuer.
|
||||||
|
- selector: {}
|
||||||
|
http01:
|
||||||
|
ingress:
|
||||||
|
class: nginx
|
||||||
59
1.Cluster/cluster.yml
Normal file
59
1.Cluster/cluster.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
cluster_name: k8s-test
|
||||||
|
kubernetes_version: v1.23.14-rancher1-1
|
||||||
|
|
||||||
|
ignore_docker_version: true
|
||||||
|
|
||||||
|
nodes:
|
||||||
|
- address: 65.109.190.72
|
||||||
|
hostname_override: node1
|
||||||
|
user: root
|
||||||
|
labels:
|
||||||
|
worker: yes
|
||||||
|
ingress: yes
|
||||||
|
location: nsk
|
||||||
|
role: [controlplane, worker, etcd]
|
||||||
|
- address: 65.109.190.74
|
||||||
|
hostname_override: node2
|
||||||
|
user: root
|
||||||
|
labels:
|
||||||
|
worker: yes
|
||||||
|
ingress: yes
|
||||||
|
location: nsk
|
||||||
|
role: [controlplane, worker, etcd]
|
||||||
|
- address: 135.181.206.109
|
||||||
|
hostname_override: node3
|
||||||
|
user: root
|
||||||
|
labels:
|
||||||
|
worker: yes
|
||||||
|
ingress: yes
|
||||||
|
location: nsk
|
||||||
|
role: [controlplane, worker, etcd]
|
||||||
|
|
||||||
|
services:
|
||||||
|
etcd:
|
||||||
|
snapshot: true
|
||||||
|
creation: 6h
|
||||||
|
retention: 30h
|
||||||
|
kube-controller:
|
||||||
|
extra_args:
|
||||||
|
terminated-pod-gc-threshold: 100
|
||||||
|
|
||||||
|
authentication:
|
||||||
|
strategy: x509
|
||||||
|
sans:
|
||||||
|
- "rke.xxx-net.ru"
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
provider: nginx
|
||||||
|
node_selector:
|
||||||
|
ingress: yes
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/controlplane
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
- key: node-role.kubernetes.io/etcd
|
||||||
|
operator: Exists
|
||||||
|
effect: NoExecute
|
||||||
|
extra_args:
|
||||||
|
http-port: 80
|
||||||
|
https-port: 443
|
||||||
34
README.md
Normal file
34
README.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Курс по ArgoCD + Keycloak
|
||||||
|
|
||||||
|
## Научимся
|
||||||
|
|
||||||
|
1. разворачивать тестовый кластер
|
||||||
|
2. устанавливать зависимости для комфортной работы
|
||||||
|
3. разворачивать рабочие кластера ArgoCD и Keycloak
|
||||||
|
4. разворачивать FreeIPA для ведения внешней базы данных пользователей
|
||||||
|
5. собирать все это в кучу и настраивать взаимодействие
|
||||||
|
6. напишим приложение на JS и подключим к нему авторизацию через Keycloak + FreeIPA
|
||||||
|
|
||||||
|
## Порядок действий
|
||||||
|
|
||||||
|
1. создаем 3 ноды под куб, одну ВМ под FreeIPA
|
||||||
|
для куба идеально - ubuntu 20.04
|
||||||
|
для IPA - fedora 35
|
||||||
|
|
||||||
|
2. поднимаем куб и стаавим зависимости для работы по [гайду](./1.Cluster/README.md)
|
||||||
|
3. поднимаем ArgoCD по [гайду](./2.ArgoCD/README.md)
|
||||||
|
4. через ArgoCD разворачиваем Keycloak в виде первого приложения
|
||||||
|
5. на отдельную машину ставим FreeIPA, минимально настраиваем
|
||||||
|
6. подключаем между собой все компоненты
|
||||||
|
|
||||||
|
## Видео к курсу
|
||||||
|
|
||||||
|
- [видео]()
|
||||||
|
|
||||||
|
### Автор
|
||||||
|
|
||||||
|
Vassiliy Yegorov
|
||||||
|
|
||||||
|
- [школа](https://realmanual.ru)
|
||||||
|
- [youtube](https://youtube.com/realmanual)
|
||||||
|
- [телега](https://t.me/realmanual_group)
|
||||||
Reference in New Issue
Block a user