Rancher 导入集群
导入集群 进入之后选择导入已有集群,随后进入此页面,点击创建 对于自签证书选择第二项,复制,然后在 K3s server 节点执行 问题error: no objects passed to apply 这里的问题主要是无法连接到部署 Rancher 的主机,无法获取 yaml 文件导致的。可以将 yaml 文件直接下载到 K3s server,再手动执行 kubectl apply -f {xxx}.yaml (针对配置了 --tls-san 参数 - 自签证书)可能会执行失败,提示域名 rancher.k3s.cn 不识别(前面的证书域名以及对应 IP) 更新资源的字段 123456789101112131415161718192021222324252627282930313233343536# because the cert was made by myself, so i need configured the hosts, otherwise it does not know my cert's domain name, un...
利用 Fabric8 结合 Git Hook 动态配置 K8s 资源
背景 在多分支并行开发的集群下,新建分支以及删除分支都需要开发人员手动维护Istio/K8s的资源对象 目的 结合git hook -》 sync程序 -》 kubernetes API 流程,自动维护k8s以及istio资源对象,减少成本,提高开发效率 技术栈GitLab Api 使用GitLab Api,获取项目分支信息 123456 <!-- https://mvnrepository.com/artifact/org.gitlab/java-gitlab-api --><dependency> <groupId>org.gitlab</groupId> <artifactId>java-gitlab-api</artifactId> <version>${gitlab.version}</version></dependency> gitlab api认证 123456789101112131415161...
K8s CRD 开发学习 - client_go 连接 K8s(Minikube)
client-go 远程连接 K8s(Minikube)复制配置文件到本地 先将 minikube 拷贝到本地(或者只拷贝 .kube/config 需要的文件) 1cp -r /home/docker_user/.minikube /root/ 拷贝 .kube 文件夹 1cp -r /home/docker_user/.kube /root/ 添加 SSH 端口转发本地肯定是访问不了的,所以需要在本地试验环境添加远程主机的端口转发。 Windows 端口转发,打开 Windows 的 cmd,输入命令: 1234# 表示在本地启动 18443 端口,与远程主机 root@192.168.56.101 建立连接,端口转发到远程主机 192.168.49.2:8443 上去,执行完窗口会 hold 住# 192.168.49.2 是 k8s 节点 ip,使用 `minikube node list` 查看ssh -L 18443:192.168.49.2:8443 -N -f docker_user@192.168.56.101 此时可以在本地开发环境通过 c...
K8s CRD 开发学习 - 安装 K8s(Minikube)
安装 Docker使用官方安装脚本自动安装 Docker12curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyunsystemctl enable docker 配置镜像加速12345678mkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://0vlzmqf0.mirror.aliyuncs.com"]}EOFsystemctl daemon-reloadsystemctl restart docker 安装 Minikube12curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64install minikube-linux-amd64 /usr/local/bin/mi...
记录容器化后的java项目问题处理
背景: 生产环境, 项目cpu一直报警 进入容器查看cpu占用高的进程top 查看占用cpu高的线程top -Hp 90 这里得到占用资源高的线程, 假如是93 获取线程id的16进制printf "%x\n" 93 这里得到的5d 对于只有jre的镜像, 需要安装对应版本jdk然后打印堆栈信息打印堆栈信息: ./jstack -l 90 > jstack.log 查找到对应线程的信息: cat jstack.log |grep "nid=0x5d" 查看gc格式: jstat -gcutil pid interval(ms) n次 jstat -gcutil 90 5000 10 123456789101112131415161718192021222324S0 S1 E O M CCS YGC YGCT FGC FGCT GCT0.00 0.00 99.64 100.00 94.39 92.31 285 14.940 474 329.694 344.6350.00 0.00 98.78 99.99 94.40 92.31 2...
关于 Rancher 的证书轮换策略
参考:https://docs.rancher.cn/docs/rancher2/cluster-admin/certificate-rotation/_index/#%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8-rancher-server-%E8%AF%81%E4%B9%A6%E6%9B%B4%E6%96%B0 集群部署略,参考官网 Docker Rancher Server 证书更新证书未过期证书未过期时,Rancher Server 可以正常运行。升级到 Rancher v2.0.14+、v2.1.9+、v2.2.2+ 后会自动检查证书有效期,如果发现证书即将过期,将会自动生成新的证书。所以独立容器运行的 Rancher Server,只需在证书过期前把 Rancher 版本升级到支持自动更新 SSL 证书的版本即可,无需做其他操作。 证书已过期如果证书已过期,那么 Rancher Server 无法正常运行。即使升级到 Rancher v2.0.14+、v2.1.9+、v2.2.2+ 也可能会提示证书错误。如果出现这种情况,可通过以下操作进行...
Rancher 的角色权限分配实践
Rancher 分为 3 种角色,各自适用范围也不同 全局 集群 项目 项目下又包括了多个 namespace 先使用管理员登录创建 1 个可以管理全局的账户和角色的用户(全局管理员账户) 注:此用户仅用来管理用户和角色,admin 权限太大,之后不再使用它进行登录 用户名:UserManager 拥有角色: Manage Roles Manage Users 退出管理员,然后使用全局管理员账户创建一个集群管理员账户(集群管理员账户)全局权限:Standard User 用户名:ClusterManager 用 ClusterManager 身份登录并进行创建集群(略) 创建集群或项目时,Rancher 会自动将创建者分配为所有者。分配了所有者角色的用户可以在集群或项目中给其他用户分配角色。 然后使用 UserManager 为各集群创建用户一个 ClusterManager 账户下可以创建多个集群,例如 release/production。 1. 项目管理员 ProjectsAdmin 全局权限:Standard User 创建和管理项目,查看监控等,...
Rancher 的安装
官网的话:Rancher 是为使用容器的公司打造的容器管理平台。 安装 RancherDocker 单节点安装 如果容器内的 80 端口映射到宿主机的 8xxx,那么容器内的 443 端口要映射到宿主机的 8443。如果容器内的 80 端口映射到宿主机的 9xxx,那么容器内的 443 端口要映射到宿主机的 9443。 docker 123456##############使用存储卷###############docker run -d --privileged --name rancher-server \--restart=unless-stopped \-p 8080:80 -p 8443:443 \-v /opt/rancher:/var/lib/rancher \rancher/rancher:v2.6.3 docker-compose 1234567891011services: rancher-server: image: rancher/rancher:v2.6.3 container_name: rancher-server ...
