安装linkerd v2
安装二进制
docker run --rm -v /usr/local/bin:/sysdir ysicing/tools tar zxf /pkg.tgz -C /sysdir
获取相关镜像
linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq | awk '{print $2}' | xargs -I {} docker pull {}
linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq | awk '{print $2}' | grep "gcr.io/linkerd-io" | awk -F/ '{print $NF}' | xargs -I {} docker tag gcr.io/linkerd-io/{} ysicing/linkerd-io-{}
linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq | awk '{print $2}' | grep "gcr.io/linkerd-io" | awk -F/ '{print $NF}' | xargs -I {} docker push ysicing/linkerd-io-{}
同步到内网环境
linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq | awk '{print $2}' | grep "gcr.io/linkerd-io" | awk -F/ '{print $NF}' | xargs -I {} docker pull ysicing/linkerd-io-{}
linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq | awk '{print $2}' | grep "gcr.io/linkerd-io" | awk -F/ '{print $NF}' | xargs -I {} docker tag ysicing/linkerd-io-{} hub.godu.dev/linkerd/{}
linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq | awk '{print $2}' | grep "gcr.io/linkerd-io" | awk -F/ '{print $NF}' | xargs -I {} docker push hub.godu.dev/linkerd/{}
安装
linkerd check --pre
linkerd install --registry hub.godu.dev/linkerd | kubectl apply -f -
linkerd check
启用
# 已有应用
kubectl get -n emojivoto deploy/web -o yaml | linkerd inject - | kubectl apply -f -
# go 创建应用
func (app *TalkController) CustomAnnotations() map[string]string {
return map[string]string{
"linkerd.io/inject": "enabled",
//"prometheus.io/port": "12306",
//"prometheus.io/scrape": "true",
}
}
# deploy
template:
metadata:
annotations:
linkerd.io/inject: enabled
prometheus.io/port: "80"
prometheus.io/scrape: "true"