rancher部署
一、准備介質
鏡像v2.4.17
docker pull rancher/rancher:v2.4.17
二、使用docker安裝
點擊查看代碼
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 \
-v /home/ap/aipf/rancher_home/rancher:/var/lib/rancher \
-v /home/ap/aipf/rancher_home/auditlog:/var/log/auditlog \
--name rancher rancher/rancher:v2.4.17
訪問本機ip
三、使用k8s部署rancher
3.1、創建namespace
kubectl create ns rancher
3.2、創建rancher的存儲路徑pv/pvc
點擊查看代碼
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-rancher
namespace: rancher
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /home/ap/nas_b
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- k8s-master
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-rancher
namespace: rancher
spec:
accessModes:
- ReadWriteMany
storageClassName: local-storage
resources:
requests:
storage: 15Gi
3.3、創建rancher的配置文件
點擊查看代碼
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: rancher
name: rancher
namespace: rancher
spec:
replicas: 1
selector:
matchLabels:
app: rancher
template:
metadata:
labels:
app: rancher
containers:
- image: rancher/rancher:v2.4.17
imagePullPolicy: IfNotPresent
name: rancher
envFrom:
- configMapRef:
name: ai-platform-config
ports:
- containerPort: 80
volumeMounts:
- mountPath: /var/lib/rancher
name: ai-rancher-volumes
subPath: rancher_home/rancher
- mountPath: /var/log/auditlog
name: ai-rancher-volumes
subPath: rancher_home/auditlog
volumes:
- name: ai-rancher-volumes
persistentVolumeClaim:
claimName: pvc-rancher
---
apiVersion: v1
kind: Service
metadata:
name: rancher
labels:
app: rancher
namespace: rancher
spec:
type: ClusterIP
selector:
app: ai-admin-web
ports:
- port: 80
targetPort: 80
點擊查看代碼
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: rancher
name: rancher
namespace: rancher
spec:
replicas: 1
selector:
matchLabels:
app: rancher
template:
metadata:
labels:
app: rancher
spec:
nodeSelector:
rancherbase: "true"
containers:
- image: rancher.harbor.io/rancher/rancher:v2.4.17
imagePullPolicy: IfNotPresent
name: rancher
envFrom:
- configMapRef:
name: ai-platform-config
ports:
- containerPort: 80
volumeMounts:
- mountPath: /var/lib/rancher
name: ai-rancher-volumes
subPath: rancher_home/rancher
- mountPath: /var/log/auditlog
name: ai-rancher-volumes
subPath: rancher_home/auditlog
volumes:
- name: ai-rancher-volumes
persistentVolumeClaim:
claimName: pvc-rancher
---
apiVersion: v1
kind: Service
metadata:
name: rancher
labels:
app: rancher
namespace: rancher
spec:
type: ClusterIP
selector:
app: ai-admin-web
ports:
- port: 80
targetPort: 80
3.4、使用上面的配置文件啟動rancher服務
[root@k8s-master conf]# kubectl apply -f rancher-pv.yaml
persistentvolume/pv-rancher created
persistentvolumeclaim/pvc-rancher created
[root@k8s-master conf]# kubectl get pv,pvc -A | grep rancher
persistentvolume/pv-rancher 20Gi RWX Retain Bound rancher/pvc-rancher local-storage 79s
rancher persistentvolumeclaim/pvc-rancher Bound pv-rancher 20Gi RWX local-storage 79s
3.5、啟動rancher服務
[root@k8s-master conf]# kubectl apply -f rancher.yaml
deployment.apps/rancher created
service/rancher created