Heim > Java > javaLernprogramm > So stellen Sie ein Springboot-Projekt für k8s bereit

So stellen Sie ein Springboot-Projekt für k8s bereit

PHPz
Freigeben: 2023-05-15 10:04:05
nach vorne
1419 Leute haben es durchsucht

Springboot-Bereitstellung für k8s-Schritte

  • Springboot-Projekt-Paket-Image im Mirror-Warehouse bereitgestellt

  • Melden Sie sich im Private Image Warehouse an und ziehen Sie das Image ## 🎜🎜#

  • Geheimnis erstellen
  • Sie müssen ein Geheimnis erstellen, um sich beim privaten Lager anzumelden und die Authentifizierungsinformationen der Docker-Registrierung zu speichern

    # 🎜🎜#Geheimnis erstellen
  • ~$ kubectl create secret docker-registry fdf-docker-secret --docker-server=registry.cn-chengdu.aliyuncs.com --docker-username=17602117026 --docker-password=用户密码
    secret/fdf-docker-secret created
    ~$
    ~$
    ~$ kubectl get secret
    NAME                TYPE                             DATA   AGE
    fdf-docker-secret   kubernetes.io/dockerconfigjson   1      15s
    Nach dem Login kopieren
    # 🎜🎜#Nach der Erstellung müssen Sie es später im Pod mounten
  • Bereitstellungs-YAML-Datei erstellen

  • Erstellen Sie schnell eine Bereitstellung und Yaml-Datei exportieren
~$ kubectl create deployment k8sdemo --image=registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0 --dry-run=client -o yaml > k8sdemo.yaml
~$ cat k8sdemo.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: k8sdemo
  name: k8sdemo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: k8sdemo
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: k8sdemo
    spec:
      containers:
      - image: registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0
        name: k8s-test
        resources: {}
status: {}
~$
Nach dem Login kopieren
#🎜 🎜#Datei k8sdemo.yaml ändern

#1.修改副本数量为2 
#2.挂在secret
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: k8sdemo
  name: k8sdemo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: k8sdemo
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: k8sdemo
    spec:
      imagePullSecrets:
        - name: fdf-docker-secret
      containers:
      - image: registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0
        name: k8s-test
        resources: {}
status: {}
Nach dem Login kopieren

Bereitstellung erstellen

~$ kubectl apply -f k8sdemo.yaml
deployment.apps/k8sdemo created
~$ kubectl get deploy
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
k8sdemo   0/2     2            0           12s
~$ kubectl get deploy
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
k8sdemo   2/2     2            2           24s
~$ kubectl get pod
NAME                       READY   STATUS    RESTARTS   AGE
k8sdemo-65d45fb49f-l4kx5   1/1     Running   0          28s
k8sdemo-65d45fb49f-pqsjw   1/1     Running   0          28s
Nach dem Login kopieren

Dienst erstellen, NodePort

#port 服务端口    target-port pod端口
~$ kubectl expose deploy k8sdemo --port=9001 --target-port=9001 --type=NodePort
service/k8sdemo exposed
~$
~$ kubectl get svc k8sdemo
NAME      TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
k8sdemo   NodePort   10.96.10.79   <none>        9001:31921/TCP   12s
~$ curl http://127.0.0.1:31921/api/v1/user/name
zhangsan
Nach dem Login kopieren
# 🎜🎜 #Sie können sehen, dass die IP des Dienstes 10.96.10.79 lautet. Der externe Port ist 31921. Die Sicherheitsgruppe muss diesen Port öffnen, um darauf zugreifen zu können alle Knoten

~$ kubectl get secret,pod,svc,deploy
NAME                       TYPE                             DATA   AGE
secret/fdf-docker-secret   kubernetes.io/dockerconfigjson   1      52m
NAME                           READY   STATUS    RESTARTS   AGE
pod/k8sdemo-65d45fb49f-l4kx5   1/1     Running   0          39m
pod/k8sdemo-65d45fb49f-pqsjw   1/1     Running   0          39m
NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
service/k8sdemo      NodePort    10.96.10.79   <none>        9001:31921/TCP   5m51s
service/kubernetes   ClusterIP   10.96.0.1     <none>        443/TCP          301d
NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/k8sdemo   2/2     2            2           39m
~$
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo stellen Sie ein Springboot-Projekt für k8s bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage