k8s自动化运维二

承接上文快速搭建自动化运维环境

gitlab备份代码恢复

  • 将备份代码放到指定目录下
k8s自动化运维二

  • 执行恢复备份操作
  • cd /home/git/gitlab # 默认从/home/git/data/backups目录下找 bin/rake gitlab:backup:restore BACKUP=1658077259_2022_07_17_11.8.1
k8s自动化运维二

  • 代码恢复了之后,若push代码报错
k8s自动化运维二

remote: /home/git/gitlab-shell/lib/gitlab_logger.rb:30:in `initialize': Permission denied @ rb_sysopen - /var/log/gitlab/gitlab-shell/gitlab-shell.log (Errno::EACCES)

该报错表明:git用户没有权限访问gitlab-shell.log文件

用root用户,将该文件授权给git用户即可

chown -R git:git /var/log/gitlab/gitlab-shell/gitlab-shell.log
k8s自动化运维二

安装minikube

  • 创建一个子用户adduser developer passwd developer usermod -aG wheel developer su - developer sudo groupadd docker sudo usermod -aG docker $USER 或 sudo usermod -aG docker $USER && newgrp docker
  • 启动minikube
minikube start --driver=docker --image-mirror-country=cn --registry-mirror=https://kaakiyao.mirror.aliyuncs.com
k8s自动化运维二

查看minikube状态

k8s自动化运维二

查看k8s集群状态

k8s自动化运维二

发现minikube docker容器的ip是192.168.49.2

安装kuboard

kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml

kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml

kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
k8s自动化运维二

kubectl get svc -n kube-system |grep kuboard
k8s自动化运维二

查看kuboard service是否正常提供服务

k8s自动化运维二

因ip=192.168.49.2是minikube docker容器环境的ip,而宿主机的ip是10.1.2.219,

注意:minikube 集群的网络与主机 VM 网络隔离,NodePort服务只能在 VM 或minikube docker 容器的外部 IP 上访问,不会在任何主机 VM 网络接口上暴露任何端口

k8s自动化运维二

如您所见192.168.49.2,可以通过br-xxx网络接口访问,因为它是192.168.49.1/24网络的一部分,由 virtualbox vm 使用,因此如果不使用额外的端口转发,就无法访问它,不仅在VM的外部 IP 上,而且在其任何内部网络接口上。NodePort服务Deployment仅在嵌套的VirtualBox VM(或其他管理程序)的外部 IP 上公开,该 IP可从VM主机访问,但未在其任何网络接口上公开,因此也无法从外部访问,所以还需要做一个端口转发

kubectl port-forward --address 0.0.0.0 service/kuboard 32568:80 -n kube-system
k8s自动化运维二

这将注定任何的流量转发VM地址到你的Service,在这种情况下甚至不必须是NodePort类型,ClusterIP也可以工作。

即访问宿主机的32568端口,通过service=kuboard转发到pod的80端口

访问kuboard

http://10.1.2.219:32568/dashboard

通过token的方式登录

echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
k8s自动化运维二

将该token值输入kuboard即可完成登陆

k8s自动化运维二

也可以通过在kuboard web ui导入minukute集群的方式

cat ~/.kube/config
k8s自动化运维二

这3个地方要进行修改

  • 把3个key的名称后面加上-data,如certificate-authority变成certificate-authority-data
  • 把3个key对应的value值替换下 以certificate-authority-data的value值为例
  • cat /home/developer/.minikube/ca.crt|base64 -w 0
k8s自动化运维二

使用gitlab进行ci/cd的时候,gitlab-ci文件也需要变下

k8s自动化运维二

sudo su - developer -c "pwd & kubectl apply -f deploy/xibaoxiao-gateway.yaml"

先切换成developer用户,再执行命令,因为minikube环境是通过developer用户创建的。

k8s访问registry下载镜像 https访问问题

k8s自动化运维二

安装好了registry服务之后,先让docker服务允许https访问registry不做检验

vim /etc/docker/daemon.json
k8s自动化运维二

"insecure-registries":[
        "10.1.2.219:5000"
    ],

然后再让k8s允许https访问registry不做校验

k8s自动化运维二

minikube start --driver=docker --image-mirror-country=cn --registry-mirror=https://kaakiyao.mirror.aliyuncs.com --insecure-registry=10.1.2.219:5000

在启动minikube的时候添加--insecure-registry=10.1.2.219:5000
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章