胡伟煌

个人博客

OpenYurt之YurtHub源码分析

本文分析yurthub源码,第一部分。 本文以commit id:180282663457080119a1bc6076cce20c922b5c50, 对应版本tag: v1.2.1 的源码分析yurthub的实现逻辑。 yurthub是部署在每个边缘节点上用来实现边缘自治的组件。在云边通信正常的情况下实现apiserver的请求转发,断网的情况下通过本地的缓存数据保证节点上容器的正常运行......

k8s社区开发指南

1. 社区说明 1.1. Community membership Role Responsibilities Requirements Defined by Member Active contributor in the community Sponsored by 2 reviewers and multiple contributions to the project ......

Pod的DNS策略

1. Pod的DNS策略 可以在pod中定义dnsPolicy字段来设置dns的策略。 “Default”: Pod 从运行所在的节点继承名称解析配置。就是该Pod的DNS配置会跟宿主机完全一致。 “ClusterFirst”: 如果没有配置,即为默认的DNS策略。预先把kube-dns(或CoreDNS)的信息当作预设参数写入到该Pod内的DNS配置。与配置的集群域后缀不匹配的任何......

OpenYurt 安装相关Kubernetes配置调整

安装openyurt,为了适配边缘场景,需要对k8s组件进行调整。其中包括: kube-apiserver kube-controller-manager kube-proxy CoreDNS 1. kube-apiserver 为了实现云边通信,即用户可以正常使用kubectl exec/logs的功能来登录或查看边缘容器的信息。需要将kube-apiserver访问k......

helm的使用

1. 安装helm 1curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash 2. 基本概念 Helm是用来管理k8s集群上的软件包。 Chart:代表helm软件包 Repository:软件包的存放仓库 Release:运行在k8s上的一个发布实例。 3. helm命令......

安装k8s dashboard

1. 部署dashboard 1kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 镜像: kubernetesui/dashboard:v2.5.0 默认端口:8443 登录页面需要填入token或kubeconfig 2. 登......

kubectl进入node shell

本文介绍如何通过kubectl进入节点的shell环境。 1. 安装krew node-shell 1.1. 安装krew 123456789( set -x; cd "$(mktemp -d)" && OS="$(uname | tr '[:upper:]' '[:lower:]')" && ARCH="$(uname -m | sed -e 's/x......

安装APISIX

本文主要介绍通过k8s来部署apisix及apisix-ingress-controller,使用apisix作为k8s内Pod互相访问的网关。 1. 环境准备 1.1. 安装helm 参考:Helm | 安装 1curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash helm添加仓......

创建路由

本文主要介绍三种方式来创建apisix的路由规则。需要提前创建好k8s service作为路由的后端标识来关联endpoints。 0. 创建k8s service 12345678910111213apiVersion: v1kind: Servicemetadata: name: {APP}-service namespace: {NAMESPACE&#......

ingress-controller原理

ingress-controller架构图 ingress-controller流程图 ApisixRoute同步逻辑 数据结构转换 参考: https://apisix.apache.org/zh/docs/ingress-controller/getting-started/ https://apisix.apache.org/zh/docs/ingress-contro......