1.创建挂载nginx-namespace.yaml配置文件(k8s-master:192.168.32.128)
apiVersion: v1
kind: Namespace
metadata:
name: nginx
labels:
name: nginx
创建命名空间
kubectl create -f nginx-namespace.yaml
#挂载nginx.conf 配置文件 -n nginx 命名空间
kubectl create configmap nginx-conf --from-file=/etc/nginx/conf/nginx.conf -n nginx
2.创建nginx-rc1.yaml配置文件
vim nginx-rc1.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-controller #容器命名
spec:
replicas: 2 #启动的节点数
selector:
name: nginx #命名空间的名字,需要对应namespace
template:
metadata:
labels:
name: nginx #标签
spec:
containers:
- name: nginx #容器名字
image: 192.168.32.131/nginx/nginx:v2.1.9 #haibor的镜像
ports:
- containerPort: 80 #容器内部的端口
volumeMounts:
- mountPath: /usr/local/nginx/conf/nginx.conf #容器内部需要挂载映射的配置文件
name: nginx-conf
subPath: nginx.conf
volumes:
- configMap:
name: nginx-conf #配置挂载文件名字
name: nginx-conf
kubectl apply -f nginx-rc1.yaml -n nginx
3.创建service
vim nginx-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- port: 8010 #services的端口
targetPort: 80 #容器nginx的端口
protocol: TCP
nodePort: 30080 # 向外开放的端口
type: NodePort
selector:
name: nginx
kubectl apply -f nginx-svc.yaml -n nginx
对于不知道如何创建Harbor本地仓库的,可以参考以下文章:
k8s-部署本地仓库harbor