wikiv3:phpipam_kubernetes_deploy
PHPipam
$ ssh kube-worker-01 $ sudo mkdir /volumes/kubernetes/phpipam $ sudo chmod 777 /volumes/kubernetes/phpipam
$ kubectl create namespace phpipam
namespace/phpipam created
- storage-class-phpipam.yaml
--- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: local-storage-phpipam namespace: phpipam provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer
$ kubectl apply -f storage-class-phpipam.yaml storageclass.storage.k8s.io/local-storage-phpipam created
- persistentvolumes.yaml
--- apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv-phpipam namespace: phpipam spec: capacity: storage: 4Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: local-storage-phpipam local: path: /volumes/kubernetes/phpipam nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - kube-worker-01.juntotelecom.com.br --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: claim-db-phpipam namespace: phpipam spec: accessModes: - ReadWriteOnce storageClassName: local-storage-phpipam resources: requests: storage: 4Gi
$ kubectl apply -f persistentvolumes.yaml persistentvolume/mysql-pv-phpipam created persistentvolumeclaim/claim-db-phpipam created
$ echo -n "@btjt(())22" | openssl enc -base64 QGJ0anQoKCkpMjI=
- mysql-deployment.yaml
--- apiVersion: apps/v1 kind: Deployment metadata: labels: app: mysql name: mysql namespace: phpipam spec: replicas: 1 selector: matchLabels: app: mysql strategy: {} template: metadata: labels: app: mysql spec: containers: - env: - name: MYSQL_ROOT_PASSWORD value: QGJ0anQoKCkpMjI= image: mysql:5.6 imagePullPolicy: IfNotPresent name: mysql volumeMounts: - mountPath: /var/lib/mysql name: db-phpipam volumes: - name: db-phpipam persistentVolumeClaim: claimName: claim-db-phpipam
$ kubectl apply -f mysql-deployment.yaml deployment.apps/mysql created
- ipam-deployment.yaml
--- apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: ipam name: ipam namespace: phpipam spec: replicas: 1 selector: matchLabels: app: ipam strategy: {} template: metadata: labels: app: ipam spec: containers: - env: - name: MYSQL_ENV_MYSQL_HOST value: mysql - name: MYSQL_ENV_MYSQL_ROOT_PASSWORD value: QGJ0anQoKCkpMjI= - name: MYSQL_ENV_MYSQL_USER value: root image: pierrecdn/phpipam name: ipam ports: - containerPort: 80
$ kubectl apply -f ipam-deployment.yaml deployment.apps/ipam created
$ kubectl expose deploy ipam --port=80 --target-port=80 --type=NodePort -n phpipam --dry-run=client -o yaml > ipam-service.yaml
- ipam-service.yaml
apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: app: ipam name: ipam namespace: phpipam spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: ipam type: NodePort status: loadBalancer: {}
$ kubectl apply -f ipam-service.yaml service/ipam created
$ kubectl get all -n phpipam NAME READY STATUS RESTARTS AGE pod/ipam-5c747776ff-wzs6w 1/1 Running 0 11m pod/mysql-7d9788589b-tlkk8 1/1 Running 0 21m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/ipam NodePort 10.97.49.198 <none> 80:31899/TCP 2m34s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/ipam 1/1 1 1 11m deployment.apps/mysql 1/1 1 1 21m NAME DESIRED CURRENT READY AGE replicaset.apps/ipam-5c747776ff 1 1 1 11m replicaset.apps/mysql-7d9788589b 1 1 1 21m
$ kubectl expose deploy mysql --port=3306 --target-port=3306 -n phpipam
$ kubectl get all -n phpipam -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/ipam-5c747776ff-cgnvg 1/1 Running 0 20m 192.168.213.134 kube-worker-02.juntotelecom.com.br <none> <none> pod/mysql-7d9788589b-tlkk8 1/1 Running 0 54m 192.168.101.68 kube-worker-01.juntotelecom.com.br <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/ipam NodePort 10.97.49.198 <none> 80:31899/TCP 35m app=ipam service/mysql ClusterIP 10.110.145.45 <none> 3306/TCP 25m app=mysql NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/ipam 1/1 1 1 43m ipam pierrecdn/phpipam app=ipam deployment.apps/mysql 1/1 1 1 54m mysql mysql:5.6 app=mysql NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/ipam-5c747776ff 1 1 1 43m ipam pierrecdn/phpipam app=ipam,pod-template-hash=5c747776ff replicaset.apps/mysql-7d9788589b 1 1 1 54m mysql mysql:5.6 app=mysql,pod-template-hash=7d9788589b
wikiv3/phpipam_kubernetes_deploy.txt · Last modified: by 127.0.0.1
