Home > Archives > DNS示例

DNS示例

Publish:

 
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

参考

声明: 本文采用 BY-NC-SA 授权。转载请注明转自: Ding Bao Guo