-
kube-promethuse 编写jsonnet
Kube-prometheus提供的yaml都是由jsonnet生成的,我们也可以使用它的思想来编写jsonnet然后转为yaml文件。
在目录
jsonnet/kube-prometheus/alerts
下按jsonnet语法编写告警规则。执行
docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) quay.io/coreos/jsonnet-ci jb update
拉取并更新jsonnet环境。quay.io/coreos/jsonnet-ci镜像较大,需要较长时间。
在Kube-prometheus项目根目录下执行
docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) quay.io/coreos/jsonnet-ci ./build.sh example.jsonnet
将jsonnet项目输出为yaml文件。执行完后,manifests目录下的文件就都重新生成了,重新apply后即可生效。
-
kubeadm 安装指定版本的 k8s 集群
-
选择安装 v1.16.9 的 kubeadm:
[root@akito-192 ~]# yum install kubelet-1.16.9-0 kubeadm-1.16.9-0 kubectl-1.16.9-0
-
执行 kubeadm init 执行节点安装 k8s 集群时,最大的问题是在此过程中会去 k8s.gcr.io 的 kubernetes 官方镜像源下载 k8s 组件的镜像,所以我们可以提前预下载所需要的组件镜像:
查看 kubeadm init 时所需要的组件镜像列表:
[root@akito-192 ~]# kubeadm config images list k8s.gcr.io/kube-apiserver:v1.16.9 k8s.gcr.io/kube-controller-manager:v1.16.9 k8s.gcr.io/kube-scheduler:v1.16.9 k8s.gcr.io/kube-proxy:v1.16.9 k8s.gcr.io/pause:3.1 k8s.gcr.io/etcd:3.3.15-0 k8s.gcr.io/coredns:1.6.2
编写脚本,使用阿里云的 k8s 官方镜像源来下载这些镜像:
脚本的作用是从阿里云的 kubernetes 镜像源拉取镜像到本地,然后修改镜像的标签,以符合 k8s.gcr.io 的地址格式。
cat <<EOF > pull-k8s-images.sh for i in `kubeadm config images list`; do imageName=${i#k8s.gcr.io/} docker pull registry.aliyuncs.com/google_containers/$imageName docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName docker rmi registry.aliyuncs.com/google_containers/$imageName done; EOF
-
-
ingress SSL/HTTPS
可能我们想让网站使用安全的 HTTPS 服务,Kubernetes Ingress 也提供了简单的 TLS 校验,这意味着它会处理所有的 SSL 通信、解密/校验 SSL 请求,然后将这些解密后的请求发送到内部服务去。
如果你的多个内部服务使用相同(可能是通配符)的 SSL 证书,这样我们就只需要在 Ingress 上配置一次,而不需要在内部服务上去配置,Ingress 可以使用配置的 TLS Kubernetes Secret 来配置 SSL 证书。
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: tls-example-ingress spec: tls: - hosts: - sslexample.foo.com secretName: testsecret-tls rules: - host: sslexample.foo.com http: paths: - path: / backend: serviceName: service1 servicePort: 80
不过需要注意的是如果你在不同的命名空间有多个 Ingress 资源,那么你的 TLS secret 也需要在你使用的 Ingress 资源的所有命名空间中可用。
-
详解Kubernetes Operators
-
K8S实战(系列)| 配置 NFS 动态卷提供持久化存储
-
Istio 运维实战系列(1):应用容器对 Envoy Sidecar 的启动依赖问题
-
被 Google 选择的下一代数据面 Cilium 是什么 - 上手实践
-
如何扩展单个Prometheus实现近万Kubernetes集群监控?
-
十大必须知道的Kubernetes设计模式
-
Kubernetes 1.20.5 安装Prometheus-Oprator
-
简述Kubernetes容器日志收集原理!
-
K8s通过Helm部署入门
-
Kubernetes存储之PC-PVC
-
Kubernetes的探针
-
Kubernetes 之 YAML 语法
-
k8s 启动服务过程
-
kubernetes 启动后,无论是 master 节点 亦或者 node 节点,都会将自身的信息存储到 etcd 数据库中 创建 nginx 服务,首先会将安装请求发送到 master 节点上的 apiServer 组件中 apiServer 组件会调用 scheduler 组件来决定应该将该服务安装到哪个 node 节点上。这个时候就需要用到 etcd 数据库了,scheduler会从 etcd 中读取各个 node 节点的信息,然后按照一定的算法进行选择,并将结果告知给 apiServer apiServer 调用 controllerManager 去调度 node 节点,并安装 nginx 服务 node 节点上的 kubelet 组件接收到指令后,会通知docker,然后由 docker 来启动一个 nginx 的pod pod 是 kubernetes 中的最小操作单元,容器都是跑在 pod 中 以上步骤完成后,nginx 服务便运行起来了,如果需要访问 nginx,就需要通过 kube-proxy 来对 pod 产生访问的代理,这样外部用户就能访问到这个 nginx 服务 以上便是运行一个服务的全过程,不知道看完之后有没有一种 肃然起敬 的感觉,设计是在太巧妙了,因此到这里,难道就不准备看 k8s 使用下文!如果准备看的话,小手将关注点起来哦!
-
-
拥抱云原生,基于eBPF技术实现Serverless节点访问K8S Service
-
万字长文:彻底搞懂容器镜像构建
-
关于多集群Kubernetes的一些思考
-
超详细!k8s 面试题总结
-
Rancher K8S傻瓜式安装,图形化管理真香!
Kubernetes 系列知识拓展
最新推荐文章于 2024-03-04 09:52:05 发布