download cilium images in 'ezdown'

pull/1166/head
jin.gjm 2022-06-18 08:27:12 +08:00
parent 6dad31994e
commit 62373504ad
8 changed files with 123 additions and 74 deletions

View File

@ -133,8 +133,8 @@ calico_ver_main: "{{ calico_ver.split('.')[0] }}.{{ calico_ver.split('.')[1] }}"
# ------------------------------------------- cilium
# [cilium]镜像版本
cilium_ver: "__cilium__"
cilium_connectivity_check: "true"
cilium_hubble_enabled: "true"
cilium_connectivity_check: true
cilium_hubble_enabled: true
# ------------------------------------------- kube-ovn
# [kube-ovn]选择 OVN DB and OVN Control Plane 节点默认为第一个master节点
@ -148,7 +148,7 @@ kube_ovn_ver: "__kube_ovn__"
OVERLAY_TYPE: "full"
# [kube-router]NetworkPolicy 支持开关
FIREWALL_ENABLE: "true"
FIREWALL_ENABLE: true
# [kube-router]kube-router 镜像版本
kube_router_ver: "__kube_router__"
@ -189,7 +189,7 @@ nfs_server: "192.168.1.10"
nfs_path: "/data/nfs"
# network-check 自动安装
network_check_enabled: "true"
network_check_enabled: true
network_check_schedule: "*/5 * * * *"
############################

101
ezdown
View File

@ -2,7 +2,7 @@
#--------------------------------------------------
# This script is used for:
# 1. to download the scripts/binaries/images needed for installing a k8s cluster with kubeasz
# 2. to run kubeasz in a container (optional)
# 2. to run kubeasz in a container (recommended way to run 'ezctl')
# @author: gjmzj
# @usage: ./ezdown
# @repo: https://github.com/easzlab/kubeasz
@ -21,30 +21,36 @@ SYS_PKG_VER=0.4.3
HARBOR_VER=v2.1.3
REGISTRY_MIRROR=CN
# images needed by k8s cluster
# images downloaded by default(with '-D')
calicoVer=v3.19.4
flannelVer=v0.15.1
dnsNodeCacheVer=1.21.1
corednsVer=1.8.6
dashboardVer=v2.5.1
dashboardMetricsScraperVer=v1.0.8
metricsVer=v0.5.2
pauseVer=3.6
# images not downloaded by default(only download with '-X')
flannelVer=v0.15.1
nfsProvisionerVer=v4.0.2
ciliumVer=1.11.6
export kubeRouterVer=v0.3.1
export kubeOvnVer=v1.5.3
export promChartVer=35.5.1
promChartVer=35.5.1
# images not downloaded
kubeRouterVer=v0.3.1
kubeOvnVer=v1.5.3
function usage() {
echo -e "\033[33mUsage:\033[0m ezdown [options] [args]"
cat <<EOF
option: -{DdekSz}
option:
-C stop&clean all local containers
-D download all into "$BASE"
-D download default binaries/images into "$BASE"
-P download system packages for offline installing
-R download Registry(harbor) offline installer
-S start kubeasz in a container
-X download extra images
-d <ver> set docker-ce version, default "$DOCKER_VER"
-e <ver> set kubeasz-ext-bin version, default "$EXT_BIN_VER"
-k <ver> set kubeasz-k8s-bin version, default "$K8S_BIN_VER"
@ -288,8 +294,8 @@ function get_harbor_offline_pkg() {
docker rm -f temp_harbor
}
function get_offline_image() {
logger info "download offline images, then upload to the local registry"
function get_default_images() {
logger info "download default images, then upload to the local registry"
# calico
if [[ ! -f "$imageDir/calico_$calicoVer.tar" ]];then
@ -340,16 +346,6 @@ function get_offline_image() {
docker tag "kubernetesui/dashboard:$dashboardVer" "easzlab.io.local:5000/kubernetesui/dashboard:$dashboardVer"
docker push "easzlab.io.local:5000/kubernetesui/dashboard:$dashboardVer"
# flannel
if [[ ! -f "$imageDir/flannel_$flannelVer.tar" ]];then
docker pull "easzlab/flannel:$flannelVer" && \
docker save -o "$imageDir/flannel_$flannelVer.tar" "easzlab/flannel:$flannelVer"
else
docker load -i "$imageDir/flannel_$flannelVer.tar"
fi
docker tag "easzlab/flannel:$flannelVer" "easzlab.io.local:5000/easzlab/flannel:$flannelVer"
docker push "easzlab.io.local:5000/easzlab/flannel:$flannelVer"
# dashboard-metrics-scraper
if [[ ! -f "$imageDir/metrics-scraper_$dashboardMetricsScraperVer.tar" ]];then
docker pull "kubernetesui/metrics-scraper:$dashboardMetricsScraperVer" && \
@ -380,6 +376,28 @@ function get_offline_image() {
docker tag "easzlab/pause:$pauseVer" "easzlab.io.local:5000/easzlab/pause:$pauseVer"
docker push "easzlab.io.local:5000/easzlab/pause:$pauseVer"
# kubeasz
if [[ ! -f "$imageDir/kubeasz_$KUBEASZ_VER.tar" ]];then
docker pull "easzlab/kubeasz:$KUBEASZ_VER" && \
docker save -o "$imageDir/kubeasz_$KUBEASZ_VER.tar" "easzlab/kubeasz:$KUBEASZ_VER"
else
docker load -i "$imageDir/kubeasz_$KUBEASZ_VER.tar"
fi
}
function get_extra_images() {
logger info "download extra images, then upload to the local registry"
# flannel
if [[ ! -f "$imageDir/flannel_$flannelVer.tar" ]];then
docker pull "easzlab/flannel:$flannelVer" && \
docker save -o "$imageDir/flannel_$flannelVer.tar" "easzlab/flannel:$flannelVer"
else
docker load -i "$imageDir/flannel_$flannelVer.tar"
fi
docker tag "easzlab/flannel:$flannelVer" "easzlab.io.local:5000/easzlab/flannel:$flannelVer"
docker push "easzlab.io.local:5000/easzlab/flannel:$flannelVer"
# nfs-provisioner
if [[ ! -f "$imageDir/nfs-provisioner_$nfsProvisionerVer.tar" ]];then
docker pull "easzlab/nfs-subdir-external-provisioner:$nfsProvisionerVer" && \
@ -390,13 +408,39 @@ function get_offline_image() {
docker tag "easzlab/nfs-subdir-external-provisioner:$nfsProvisionerVer" "easzlab.io.local:5000/easzlab/nfs-subdir-external-provisioner:$nfsProvisionerVer"
docker push "easzlab.io.local:5000/easzlab/nfs-subdir-external-provisioner:$nfsProvisionerVer"
# kubeasz
if [[ ! -f "$imageDir/kubeasz_$KUBEASZ_VER.tar" ]];then
docker pull "easzlab/kubeasz:$KUBEASZ_VER" && \
docker save -o "$imageDir/kubeasz_$KUBEASZ_VER.tar" "easzlab/kubeasz:$KUBEASZ_VER"
# cilium
if [[ ! -f "$imageDir/cilium_$ciliumVer.tar" ]];then
docker pull "quay.io/cilium/cilium:v$ciliumVer" && \
docker pull "quay.io/cilium/operator-generic:v$ciliumVer" && \
docker pull "quay.io/cilium/hubble-relay:v$ciliumVer" && \
docker pull quay.io/cilium/hubble-ui-backend:v0.9.0 && \
docker pull quay.io/cilium/hubble-ui:v0.9.0 && \
docker pull quay.io/cilium/json-mock:v1.3.0 && \
docker pull quay.io/cilium/alpine-curl:v1.3.0
docker save -o "$imageDir/cilium_$ciliumVer.tar" "quay.io/cilium/cilium:v$ciliumVer" \
"quay.io/cilium/operator-generic:v$ciliumVer" \
"quay.io/cilium/hubble-relay:v$ciliumVer" \
quay.io/cilium/hubble-ui-backend:v0.9.0 \
quay.io/cilium/hubble-ui:v0.9.0 \
quay.io/cilium/json-mock:v1.3.0 \
quay.io/cilium/alpine-curl:v1.3.0
else
docker load -i "$imageDir/kubeasz_$KUBEASZ_VER.tar"
docker load -i "$imageDir/cilium_$ciliumVer.tar"
fi
docker tag "quay.io/cilium/cilium:v$ciliumVer" "easzlab.io.local:5000/cilium/cilium:v$ciliumVer"
docker push "easzlab.io.local:5000/cilium/cilium:v$ciliumVer"
docker tag "quay.io/cilium/operator-generic:v$ciliumVer" "easzlab.io.local:5000/cilium/operator-generic:v$ciliumVer"
docker push "easzlab.io.local:5000/cilium/operator-generic:v$ciliumVer"
docker tag "quay.io/cilium/hubble-relay:v$ciliumVer" "easzlab.io.local:5000/cilium/hubble-relay:v$ciliumVer"
docker push "easzlab.io.local:5000/cilium/hubble-relay:v$ciliumVer"
docker tag quay.io/cilium/hubble-ui-backend:v0.9.0 easzlab.io.local:5000/cilium/hubble-ui-backend:v0.9.0
docker push easzlab.io.local:5000/cilium/hubble-ui-backend:v0.9.0
docker tag quay.io/cilium/hubble-ui:v0.9.0 easzlab.io.local:5000/cilium/hubble-ui:v0.9.0
docker push easzlab.io.local:5000/cilium/hubble-ui:v0.9.0
docker tag quay.io/cilium/json-mock:v1.3.0 easzlab.io.local:5000/cilium/json-mock:v1.3.0
docker push easzlab.io.local:5000/cilium/json-mock:v1.3.0
docker tag quay.io/cilium/alpine-curl:v1.3.0 easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
docker push easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
}
function download_all() {
@ -407,7 +451,7 @@ function download_all() {
get_k8s_bin && \
get_ext_bin && \
start_local_registry && \
get_offline_image
get_default_images
}
function start_local_registry() {
@ -491,7 +535,7 @@ function main() {
[[ "$#" -eq 0 ]] && { usage >&2; exit 1; }
ACTION=""
while getopts "CDPRSd:e:k:m:p:z:" OPTION; do
while getopts "CDPRSXd:e:k:m:p:z:" OPTION; do
case "$OPTION" in
C)
ACTION="clean_container"
@ -508,6 +552,9 @@ function main() {
S)
ACTION="start_kubeasz_docker"
;;
X)
ACTION="get_extra_images"
;;
d)
DOCKER_VER="$OPTARG"
;;

View File

@ -1,5 +1,6 @@
image:
repository: quay.io/cilium/cilium
repository: "easzlab.io.local:5000/cilium/cilium"
tag: "v1.11.6"
useDigest: false
# -- Additional agent container arguments.
@ -36,8 +37,20 @@ hubble:
- http
relay:
enabled: true
image:
repository: "easzlab.io.local:5000/cilium/hubble-relay"
tag: "v1.11.6"
useDigest: false
ui:
enabled: true
backend:
image:
repository: "easzlab.io.local:5000/cilium/hubble-ui-backend"
tag: "v0.9.0"
frontend:
image:
repository: "easzlab.io.local:5000/cilium/hubble-ui"
tag: "v0.9.0"
{% endif %}
identityAllocationMode: "crd"
@ -73,7 +86,8 @@ etcd:
operator:
enabled: true
image:
repository: quay.io/cilium/operator
repository: "easzlab.io.local:5000/cilium/operator"
tag: "v1.11.6"
useDigest: false
replicas: 1
resources:

View File

@ -23,7 +23,7 @@ spec:
value: "8080"
ports:
- containerPort: 8080
image: quay.io/cilium/json-mock:v1.3.0@sha256:2729064827fa9dbfface8d3df424feb6c792a0ba07117b844349635c93c06d2b
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7
@ -80,7 +80,7 @@ spec:
ports:
- containerPort: 8080
hostPort: 40000
image: quay.io/cilium/json-mock:v1.3.0@sha256:2729064827fa9dbfface8d3df424feb6c792a0ba07117b844349635c93c06d2b
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7
@ -135,7 +135,7 @@ spec:
- name: PORT
value: "41000"
ports: []
image: quay.io/cilium/json-mock:v1.3.0@sha256:2729064827fa9dbfface8d3df424feb6c792a0ba07117b844349635c93c06d2b
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7

View File

@ -23,7 +23,7 @@ spec:
value: "8080"
ports:
- containerPort: 8080
image: quay.io/cilium/json-mock:v1.3.0@sha256:2729064827fa9dbfface8d3df424feb6c792a0ba07117b844349635c93c06d2b
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7
@ -80,7 +80,7 @@ spec:
ports:
- containerPort: 8080
hostPort: 40000
image: quay.io/cilium/json-mock:v1.3.0@sha256:2729064827fa9dbfface8d3df424feb6c792a0ba07117b844349635c93c06d2b
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7
@ -135,7 +135,7 @@ spec:
- name: PORT
value: "41000"
ports: []
image: quay.io/cilium/json-mock:v1.3.0@sha256:2729064827fa9dbfface8d3df424feb6c792a0ba07117b844349635c93c06d2b
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7
@ -197,7 +197,7 @@ spec:
containers:
- name: pod-to-a-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -253,7 +253,7 @@ spec:
containers:
- name: pod-to-external-1111-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -309,7 +309,7 @@ spec:
containers:
- name: pod-to-a-denied-cnp-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -355,7 +355,7 @@ spec:
containers:
- name: pod-to-a-allowed-cnp-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -411,7 +411,7 @@ spec:
containers:
- name: pod-to-external-fqdn-allow-baidu-cnp-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -467,7 +467,7 @@ spec:
containers:
- name: pod-to-b-multi-node-clusterip-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -533,7 +533,7 @@ spec:
containers:
- name: pod-to-b-multi-node-headless-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -599,7 +599,7 @@ spec:
containers:
- name: host-to-b-multi-node-clusterip-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -666,7 +666,7 @@ spec:
containers:
- name: host-to-b-multi-node-headless-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -733,7 +733,7 @@ spec:
containers:
- name: pod-to-b-multi-node-nodeport-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash
@ -799,7 +799,7 @@ spec:
containers:
- name: pod-to-b-intra-node-nodeport-container
ports: []
image: quay.io/cilium/alpine-curl:v1.3.0@sha256:1d928912e5d9dc9994b038b5df7434790c4bb9bd64f60570d78c1dee13befc76
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command:
- /bin/ash

View File

@ -19,7 +19,7 @@ spec:
spec:
containers:
- name: test01-pod-to-container
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server:8080/public"]
restartPolicy: OnFailure
@ -44,7 +44,7 @@ spec:
spec:
containers:
- name: test02-pod-to-node-nodeport
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server-host-headless:31314/public"]
restartPolicy: OnFailure
@ -79,7 +79,7 @@ spec:
topologyKey: kubernetes.io/hostname
containers:
- name: test03-pod-to-multi-node-clusterip
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server:8080/public"]
restartPolicy: OnFailure
@ -114,7 +114,7 @@ spec:
topologyKey: kubernetes.io/hostname
containers:
- name: test04-pod-to-multi-node-headless
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server-headless:8080/public"]
restartPolicy: OnFailure
@ -149,7 +149,7 @@ spec:
topologyKey: kubernetes.io/hostname
containers:
- name: test05-pod-to-multi-node-nodeport
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server-host-headless:31314/public"]
restartPolicy: OnFailure
@ -174,7 +174,7 @@ spec:
spec:
containers:
- name: test06-pod-to-external-1111
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 1.1.1.1"]
restartPolicy: OnFailure
@ -199,7 +199,7 @@ spec:
spec:
containers:
- name: test07-pod-to-external-fqdn-baidu
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 www.baidu.com"]
restartPolicy: OnFailure
@ -236,7 +236,7 @@ spec:
hostNetwork: true
containers:
- name: test08-host-to-multi-node-clusterip
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server:8080/public"]
restartPolicy: OnFailure
@ -273,7 +273,7 @@ spec:
hostNetwork: true
containers:
- name: test09-host-to-multi-node-headless
image: quay.io/cilium/alpine-curl:v1.3.0
image: easzlab.io.local:5000/cilium/alpine-curl:v1.3.0
imagePullPolicy: IfNotPresent
command: ["sh","-c","curl -sS --fail --connect-timeout 5 echo-server-headless:8080/public"]
restartPolicy: OnFailure
@ -305,7 +305,7 @@ spec:
value: "8080"
ports:
- containerPort: 8080
image: quay.io/cilium/json-mock:v1.3.0
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7
@ -352,7 +352,7 @@ spec:
- name: PORT
value: "40001"
ports: []
image: quay.io/cilium/json-mock:v1.3.0
image: easzlab.io.local:5000/cilium/json-mock:v1.3.0
imagePullPolicy: IfNotPresent
readinessProbe:
timeoutSeconds: 7

View File

@ -1,10 +1 @@
#
coredns_offline: "coredns_{{ corednsVer }}.tar"
metricsserver_offline: "metrics-server_{{ metricsVer }}.tar"
dashboard_offline: "dashboard_{{ dashboardVer }}.tar"
metricsscraper_offline: "metrics-scraper_{{ dashboardMetricsScraperVer }}.tar"
nfsprovisioner_offline: "nfs-provisioner_{{ nfs_provisioner_ver }}.tar"
# default values

View File

@ -1,9 +1,6 @@
# 设置 APISERVER 地址使用kube-lb负载均衡监听地址
KUBE_APISERVER: "https://127.0.0.1:{{ SECURE_PORT }}"
# node local dns cache 离线镜像
dnscache_offline: "k8s-dns-node-cache_{{ dnsNodeCacheVer }}.tar"
# cgroup driver
CGROUP_DRIVER: "{%- if CONTAINER_RUNTIME == 'containerd' -%} \
systemd \