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

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

PHPz
PHPznach vorne
2023-05-15 10:04:051404Durchsuche

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 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: {}
~$
#🎜 🎜#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: {}

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

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
# 🎜🎜 #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
~$

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen