kubectl get pods --show-all=true --all-namespaces=true
kubectl get svc --show-all=true --all-namespaces=true
kubectl exec -it <pod-name> sh
/etc/resolve.conf
---
# mysql-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysql-secret
type: Opaque
data:
# echo -n "rootpass" | base64
db-root-password: cm9vdHBhc3M=
kubectl create -f mysql-secret.yaml
kubectl get secret
---
# mysql-server-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: mysql-server
labels:
app: mysql-server
spec:
containers:
- name: mysql-server
image: mysql:5.7
ports:
- name: mysql-port
containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: db-root-password
kubectl create -f mysql-server-pod.yaml
kubectl get pods
---
# mysql-server-service.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql-server-service
spec:
ports:
- port: 3306
protocol: TCP
selector:
app: mysql-server
type: NodePort
kubectl create -f mysql-server-service.yaml
---
# wordpress-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: wordpress
labels:
app: wordpress
spec:
containers:
- name: wordpress
image: wordpress:4-php7.0
ports:
- name: wordpress-port
containerPort: 80
env:
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: db-root-password
- name: WORDPRESS_DB_HOST
value: mysql-server-service
# wordpress-service.yaml
apiVersion: v1
kind: Service
metadata:
name: wordpress-service
spec:
ports:
- port: 3000
nodePort: 30300
protocol: TCP
targetPort: wordpress-port
selector:
app: wordpress
type: NodePort
kubectl create -f wordpress-pod.yaml && \
kubectl create -f wordpress-service.yaml
---
kubectl get all
参考