1、集群可视化rancher界面的搭建
由于我们的ubuntu对于rancher的兼容不是那么的好,所以我们选择使用centos作为rancher的服务器。
控制节点/master01 192.168.107.194
工作节点/node01 192.168.107.195
工作节点/node02 192.168.107.196
Rancher节点/rancher 192.168.107.187
安装rancher
在所有节点下载 rancher-agent 镜像
docker pull rancher/rancher-agent:v2.5.7
在 rancher 节点下载 rancher 镜像
docker pull rancher/rancher:v2.5.7
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
–restart=unless-stopped 表示在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
登录 Rancher 平台
需要先等一会儿,再浏览器访问 http://192.168.107.187,由于未使用授信证书,会有报警,忽略即可
登录后如是英文页面,可点击右下角语言选项选择中文
Rancher 管理已存在的 k8s 集群
选择【添加集群】,点击【导入】
【集群名称】设置为 k8s-cluster,点击【创建】
选择复制第三条命令绕过证书检查导入 k8s 集群
在 k8s 控制节点 master01 上执行刚才复制的命令,如第一次执行报错,再执行一次即可
[root@master01 opt]# curl --insecure -sfL https://192.168.233.94/v3/import/4448njj8gv7kqfnrw9ghvwhmlw9pn6ljxsgrzmvg5d2c7g4krsszk5_c-xdb4k.yaml | kubectl apply -f -
kubectl get ns
NAME STATUS AGE
cattle-system Active 3m24s
default Active 27d
fleet-system Active 2m14s
kube-node-lease Active 27d
kube-public Active 27d
kube-system Active 27d
kubectl get pods -n cattle-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
cattle-cluster-agent-78647b4ff8-fbqdp 1/1 Running 0 2m1s 10.244.1.4 node01
kubectl get pods -n fleet-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
fleet-agent-55bfc495bd-m9qjt 1/1 Running 0 6m8s 10.244.1.3 node01
界面展示
rancher界面搭建完成
2、本地habor镜像仓库的搭建
同样的我们的节点需要预先安装docker
部署habor镜像仓库
//上传 harbor-offline-installer-v2.8.1.tgz 和 docker-compose 文件到 /opt 目录
cd /opt
cp docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
tar zxvf harbor-offline-installer-v2.8.1.tgz
cd harbor/
vim harbor.yml
hostname = 192.168.107.187
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /data/cert/server.crt
private_key: /data/cert/server.key
harbor_admin_password = 123456
测试访问
测试上传和下载镜像
下载镜像
更改配置文件 --insecure-registry 192.168.107.178
打标签
登录push
集群内免密登录habor镜像仓库
创建一个登录凭据的清单 直接把加密信息保存在集群中 无需输入账号密码
cat /root/.docker/config.json | base64 -w 0 把标准输出的内容按base64进行编码
vim 登录凭据
vim tomcat-deployment.yaml
– 创建一个yaml文件,拉取habor镜像仓库中的镜像,检测是否能拉取成功
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-tomcat
labels:
app: my-tomcat
spec:
replicas: 2
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: my-tomcat
template:
metadata:
labels:
app: my-tomcat
spec:
imagePullSecrets:
- name: harbor-pull-secret
containers:
- name: my-tomcat
image: 192.168.107.178/1018/tomcat:v1
ports:
- containerPort: 8080
resources:
requests:
cpu: "200m"
memory: "256Mi"
limits:
cpu: "500m"
memory: "512Mi"
readinessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 3
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
---
apiVersion: v1
kind: Service
metadata:
name: my-tomcat
labels:
app: my-tomcat
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
nodePort: 31111
protocol: TCP
selector:
app: my-tomcat
观察habor镜像仓库中的下载次数
实验成功