给Ingress上配置ssl证书
给Ingress上配置ssl证书创建secret1234kubectl create secret tls [secretName] --cert=[pem文件路径] --key=[key文件路径] --namespace [namespace] -o yaml --dry-run=client > ingress-default-cert.yamlkubectl apply -f ingress-default-cert.yaml
Ingress添加证书1234567891011121314151617181920212223242526272829apiVersion: networking.k8s.io/v1beta1kind: Ingress metadata: name: [ingress-name] namespace: [namespace] # ingress要和secret在同一个名称空间下 annotations: kubernetes.io/ingress.class: traefik traef ...
Angular独立组件简单体验
Angular独立组件简单体验前言Angular 14一项令人兴奋的特性就是Angular的独立组件终于来了。
在Angular 14中, 开发者可以尝试使用独立组件开发各种组件,但是值得注意的是Angular独立组件的API仍然没有稳定下,将来可能存在一些破坏性更新,所以不推荐在生产环境中使用。
如何创建一个独立组件对于已有的组件,我们可以在@Component()中添加standalone: true的标识,然后我们可以在没有@NgModule()的情况下直接使用imports导入其他模块了。如果是新建组件,可以使用ng generate component <name> --standalone的命令,直接创建一个独立组件, 例如:
1ng generate component button-list --standalone
12345678910@Component({ selector: 'app-button-list', standalone: true, imports: [ CommonModule, ], ...
drone + gogs + docker实现持续自动化部署
准备我们使用docker-compose来安装gogs和drone。
首先我们准备数据库,gogs支持mysql,postgres, sqlite, sql server和TiDB。这里我们选择使用postgre:
12345678910111213141516171819version: '3'services: postgres: image: postgres:14.2 container_name: postgres ports: - 5432:5432 volumes: - ./postgres:/var/lib/postgresql/data environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: 123456 POSTGRES_DB: postgres networks: - ci-network networks: ci-network: external: true
创建docker网络 ...
K3S安装的时候默认使用docker
K3S安装的时候默认使用docker问题k8s在1.20之后就弃用docker的运行时了,所以k3s也开始默认使用containerd作为默认的运行时。这导致一个问题。那就是k3s无法访问本地docker镜像。
解决方案一种解决方案就是使用containerd的镜像,而不是docker。还有一种方式是在安装时就指定k3s使用docker作为运行环境。
12/usr/local/bin/k3s-uninstall.shcurl -sfL https://get.k3s.io | sh -s - server --docker
国内用户,可以使用以下方法加速安装:
1curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --docker
使用github action推送到docker的镜像仓库
准备请在github的设置页面上创建一个token,并确保有以下的权限:
repo
read:packages
write:packages
请保存好该token,因为github将隐藏该值
在github的仓库的secrets设置页面(例:https://github.com/{your_username}/{your_repository_name}/settings/secrets/actions)里创建一个名为GHCR_PAT的secrets
创建GitHub Action文件在.github/workflow中创建一个build-and-publish.yml:
123456789101112131415161718192021222324252627282930313233343536373839name: Build and Publishon: push: branches: [ master ]jobs: build-and-push-docker-image: name: Build Docker image and push to rep ...
两种在Minikube中运行本地Docker镜像的简单方式
两种在Minikube中运行本地Docker镜像的简单方式前言本文将分享两种在Minikube中运行本地Docker镜像的简单方式
要求
安装并运行Docker
安装并运行Minikube
安装kubectl
你将学到的知识本文将教会大家如何在Minikube中使用本地的Docker镜像。因为Kubernetes默认从注册表中提取镜像,所以Kubernetes一般是不会使用本地镜像,并且在生产环境中也不应该使用本地镜像。但是,如果我们可以很轻松的使用本地镜像,而不是每次都需要将这些镜像推送到远程的注册表、登录远程注册表并在本地电脑中重新拉取,那么使用本地镜像将十分便利。
和往常一样,我在github中准备了一个仓库, 方便大家查看完成的代码库,并且可以按照本文描述的步骤进行操作。
Demo介绍123456/|- app/ |- Dockerfile |- index.js |- package.json|- deployment.yaml
在上面的文件夹结构中,我将重点介绍将在本文中使用的重点文件:
app/Dockerfile 用于构建包含一个Node.js ...
Mac版minikube安装笔记
Mac版minikube安装笔记minikube是一个专注于让Kubernetes更加容易学习和开发的本地Kubernetes。只需要Docker或者虚拟机环境,我们便可以通过minikube start就能快速启动Kubernetes。
要求安装minikube需要以下要求:
至少两个CPU
至少2GB内容
至少20GB的硬盘空间
容器或者虚拟机, 比如Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation
安装针对macos的x86-64的平台的,可以使用homebrew进行安装:
1brew install minikube
如果倾向于二进制文件安装,可以使用下面的命令:
12curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64sudo install minikube-darwin-amd64 /usr/local/b ...
2022年度总结
2022年度总结2022年真的是一个让人难以忘怀的年份,尤其在先后经历了上海封城、老丈人去世、领证结婚。
疫情还记得2020年疫情刚开始的时候,那时侯自己一个人开车回上海,路上的车辆非常少,开车的感觉真的可以说非常爽,完全可以闭着眼开车,反正看不到车,即使进了上海市区。那个时候单纯的想,少则三个月,多则半年,疫情就会自然而然的过去,到时候我们该吃吃该喝喝。虽然这个判断翻车了,但是2021年也是对国内疫情还是比较乐观。但是2022年的上海封城打破了我所有的幻想。我从来没想过上海居然玩砸了“动态清理”,从华亭宾馆开始,上海的疫情持续不断,感染人数死活都下不去。
3月份我刚搬到南翔就被封控了,但是我刚开始还好,虽然什么吃的都没有,但是只要封控时间到了就能出去买点东西。但遗憾的是,从4月份开始,上海开始静默了,我足足封在家里差不多两个月。我本来是不反对封城的,但是上海市政府真的很让人失望,疫情两年了,市政府似乎没有做好任何相关封城的预案。而且总感觉可能涉及到二十大的高层安排,市政府决策层应该是存在分歧的,并且和医疗系统的人也存在一定的隔阂。由于上层的问题,基层机构出现各种乱七八糟的事儿那也能理 ...
记录一次迁移Apollo Server V3的过程
记录一次迁移Apollo Server V3的过程前言Apollo Server V3出来也快半年了,是时候把express-postgres-ts-starter的graphql部分升级了。
使用dependabot帮助更新版本dependabot是一个github的工具(似乎也支持gitlab,但是我不确定),用于检测repo依赖安全性,同时也可以帮助我定期更新repo的依赖版本。
这是我的dependabot的配置文件:
1234567version: 2updates: - package-ecosystem: npm directory: '/' schedule: interval: weekly open-pull-requests-limit: 10
升级Apollo Servier所需要依赖nodejsApollo Servier 3仅仅支持nodejsv12以上版本(Apollo Servier 2则只需要nodejsv6以上的支持)。 因此需要升级到nodejs12,推荐使用node14和node16。
我十分推荐使用Li ...
从springfox迁移到springdoc
前言之所以考虑从springfox迁移到springdoc是因为我的开源项目hoteler在升级到spring boot 2.6之后,UT的CI/CD挂了:
1234567891011HotelerApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132 Caused by: org.springframework.context.ApplicationContextException at DefaultLifecycleProcessor.java:181 Caused by: java.lang.NullPointerException at WebMvcPatternsRequestConditionWrapper.java:56ErrorPropTest > setErrors() FAILED java.lang.Il ...