Update registry dox (#2298)

Signed-off-by: zzjin <tczzjin@gmail.com>
This commit is contained in:
zzjin
2022-12-27 00:05:24 +08:00
committed by GitHub
parent eeb4fa23b4
commit 76b6298e5b
2 changed files with 99 additions and 0 deletions
+35
View File
@@ -1,7 +1,42 @@
# How to deploy the registry service
sealos registry design:
```mermaid
sequenceDiagram
participant u as User
participant sh as sealos Hub
participant sa as sealos hub Auth
par Login
u->>sh: sealos login using '-k kubeconfig'
sh->>sa: Check account
sa->>sh: Have account
sh->>sh: Create token
sh->>u: Return token
end
par Push
u->>sh: sealos push image
sh->>sa: Check account and rbac
sa->>sa: check image/repo/org access
sa->>sh: Have access rights
sh->>sh: Save image info and blobs
sh->>u: Return push status
end
par Pull
u->>sh: sealos pull image
sh->>sa: Check account and rbac
sa->>sa: check image/repo/org exists
sa->>sh: Exists!
sh->>sh: return image info and blobs meta
sh->>u: Return pull status
end
```
## Pre-Requirements
1. [sealos Cloud](../../cloud/README.md) for auth.
2. [sealos cluster](installl_base-server.md) for registry.
### A running sealos kubernetes cluster
with at least svc(s) below:
+64
View File
@@ -0,0 +1,64 @@
# Install sealos and pre-requirements for hub
## For masters access nodes
* Make sure masters can access nodes each other, using:
1. password
2. ssh key(recommended)
```bash
ssh-keygen -t ed25519 -C "master0@hub.sealos.cn"
```
Copy `~/.ssh/id_ed25519.pub` to all masters&nodes root `~/.ssh/authorized_keys`
3. custom port(optional)
```bash
vim /etc/ssh/sshd_config
```
*change Port to custom*
```config
Port 4238
```
```bash
sudo service sshd restart
```
**Also: needs to check custom port are allowed in network acls**
## For cluster init
### Init sealos cluster
```bash
wget https://github.com/labring/sealos/releases/download/v4.1.3/sealos_4.1.3_linux_amd64.tar.gz && tar -zxvf sealos_4.1.3_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 --masters xxx.xxx.xxx.xxx --nodes xxx.xxx.xxx.xxx --port 4238 -i ~/.ssh/id_ed25519
```
### Install base packages
```bash
sealos run labring/helm:v3.8.2 labring/cert-manager:v1.8.0
```
### Install DNS proxy (Optional)
When cloud infra pod cannot access outbound network, install this package.
```bash
sealos run labring/coredns:v0.0.1
```
### Install network
```bash
sealos run labring/ingress-nginx:4.1.0
```
```bash
kubectl taint node NODE_NAME node-role.kubernetes.io/master-
kubectl taint node NODE_NAME node-role.kubernetes.io/control-plane:NoSchedule-
```
* If we are using ingress-nginx bare-metal mode, we needs to change things described below:
```bash
# goto sealos rootfs dir
cd /var/lib/sealos/data/default/rootfs
helm upgrade ingress-nginx ingress-nginx --namespace ingress-nginx --set controller.hostNetwork=true,controller.kind=DaemonSet
```
https://cert-manager.io/docs/tutorials/zerossl/zerossl/
## Note for aliyun usage:
By default, sealos's calico image use cidr `100.64.0.0/10` witch will conflict with aliyun's internal oss services.
We need to update this cidr before install kubernetes as documented here: https://github.com/labring/sealos/issues/1119#issuecomment-1166756114