mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Add federation controller manager to federation e2es
This commit is contained in:
parent
ee412efcef
commit
d2ea7a29ab
@ -99,6 +99,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||||||
kube-scheduler,busybox
|
kube-scheduler,busybox
|
||||||
kube-proxy,gcr.io/google_containers/debian-iptables-amd64:v3
|
kube-proxy,gcr.io/google_containers/debian-iptables-amd64:v3
|
||||||
federation-apiserver,busybox
|
federation-apiserver,busybox
|
||||||
|
federation-controller-manager,busybox
|
||||||
);;
|
);;
|
||||||
"arm")
|
"arm")
|
||||||
local targets=(
|
local targets=(
|
||||||
@ -107,6 +108,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||||||
kube-scheduler,armel/busybox
|
kube-scheduler,armel/busybox
|
||||||
kube-proxy,gcr.io/google_containers/debian-iptables-arm:v3
|
kube-proxy,gcr.io/google_containers/debian-iptables-arm:v3
|
||||||
federation-apiserver,armel/busybox
|
federation-apiserver,armel/busybox
|
||||||
|
federation-controller-manager,armel/busybox
|
||||||
);;
|
);;
|
||||||
"arm64")
|
"arm64")
|
||||||
local targets=(
|
local targets=(
|
||||||
@ -115,6 +117,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||||||
kube-scheduler,aarch64/busybox
|
kube-scheduler,aarch64/busybox
|
||||||
kube-proxy,gcr.io/google_containers/debian-iptables-arm64:v3
|
kube-proxy,gcr.io/google_containers/debian-iptables-arm64:v3
|
||||||
federation-apiserver,aarch64/busybox
|
federation-apiserver,aarch64/busybox
|
||||||
|
federation-controller-manager,aarch64/busybox
|
||||||
);;
|
);;
|
||||||
"ppc64le")
|
"ppc64le")
|
||||||
local targets=(
|
local targets=(
|
||||||
@ -123,6 +126,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||||||
kube-scheduler,ppc64le/busybox
|
kube-scheduler,ppc64le/busybox
|
||||||
kube-proxy,gcr.io/google_containers/debian-iptables-ppc64le:v3
|
kube-proxy,gcr.io/google_containers/debian-iptables-ppc64le:v3
|
||||||
federation-apiserver,ppc64le/busybox
|
federation-apiserver,ppc64le/busybox
|
||||||
|
federation-controller-manager,ppc64lebusybox
|
||||||
);;
|
);;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -47,6 +47,10 @@ function create-federated-api-objects {
|
|||||||
export FEDERATION_APISERVER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/federation-apiserver"
|
export FEDERATION_APISERVER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/federation-apiserver"
|
||||||
export FEDERATION_APISERVER_IMAGE_TAG="${FEDERATION_IMAGE_TAG:-$(cat ${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin/federation-apiserver.docker_tag)}"
|
export FEDERATION_APISERVER_IMAGE_TAG="${FEDERATION_IMAGE_TAG:-$(cat ${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin/federation-apiserver.docker_tag)}"
|
||||||
|
|
||||||
|
export FEDERATION_CONTROLLER_MANAGER_DEPLOYMENT_NAME="federation-controller-manager"
|
||||||
|
export FEDERATION_CONTROLLER_MANAGER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/federation-controller-manager"
|
||||||
|
export FEDERATION_CONTROLLER_MANAGER_IMAGE_TAG="${FEDERATION_IMAGE_TAG:-$(cat ${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin/federation-controller-manager.docker_tag)}"
|
||||||
|
|
||||||
export FEDERATION_SERVICE_CIDR=${FEDERATION_SERVICE_CIDR:-"10.10.0.0/24"}
|
export FEDERATION_SERVICE_CIDR=${FEDERATION_SERVICE_CIDR:-"10.10.0.0/24"}
|
||||||
|
|
||||||
#Only used for providers that require a nodeport service (vagrant for now)
|
#Only used for providers that require a nodeport service (vagrant for now)
|
||||||
@ -104,6 +108,7 @@ function create-federated-api-objects {
|
|||||||
export FEDERATION_API_KNOWN_TOKENS="${FEDERATION_API_TOKEN},admin,admin"
|
export FEDERATION_API_KNOWN_TOKENS="${FEDERATION_API_TOKEN},admin,admin"
|
||||||
|
|
||||||
$template "${manifests_root}/federation-apiserver-"{deployment,secrets}".yaml" | $host_kubectl create -f -
|
$template "${manifests_root}/federation-apiserver-"{deployment,secrets}".yaml" | $host_kubectl create -f -
|
||||||
|
$template "${manifests_root}/federation-controller-manager-deployment.yaml" | $host_kubectl create -f -
|
||||||
|
|
||||||
# Don't finish provisioning until federation-apiserver pod is running
|
# Don't finish provisioning until federation-apiserver pod is running
|
||||||
for i in {1..30};do
|
for i in {1..30};do
|
||||||
@ -123,6 +128,24 @@ function create-federated-api-objects {
|
|||||||
sleep 4
|
sleep 4
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Verify that federation-controller-manager pod is running.
|
||||||
|
for i in {1..30};do
|
||||||
|
#TODO(colhom): in the future this needs to scale out for N pods. This assumes just one pod
|
||||||
|
phase="$($host_kubectl get -o=jsonpath pods -lapp=federated-cluster,module=federation-controller-manager --template '{.items[*].status.phase}')"
|
||||||
|
echo "Waiting for federation-controller-manager to be running...(phase= $phase)"
|
||||||
|
if [[ "$phase" == "Running" ]];then
|
||||||
|
echo "federation-controller-manager pod is running!"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $i -eq 30 ]];then
|
||||||
|
echo "federation-controller-manager pod is not running! giving up."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 4
|
||||||
|
done
|
||||||
|
|
||||||
CONTEXT=federated-cluster \
|
CONTEXT=federated-cluster \
|
||||||
KUBE_BEARER_TOKEN="$FEDERATION_API_TOKEN" \
|
KUBE_BEARER_TOKEN="$FEDERATION_API_TOKEN" \
|
||||||
SECONDARY_KUBECONFIG=true \
|
SECONDARY_KUBECONFIG=true \
|
||||||
@ -137,7 +160,7 @@ function create-federated-api-objects {
|
|||||||
# FEDERATION_IMAGE_TAG: push all federated images with this tag. Used for ci testing
|
# FEDERATION_IMAGE_TAG: push all federated images with this tag. Used for ci testing
|
||||||
function push-federated-images {
|
function push-federated-images {
|
||||||
: "${FEDERATION_PUSH_REPO_BASE?Must set FEDERATION_PUSH_REPO_BASE env var}"
|
: "${FEDERATION_PUSH_REPO_BASE?Must set FEDERATION_PUSH_REPO_BASE env var}"
|
||||||
local FEDERATION_BINARIES=${FEDERATION_BINARIES:-'federation-apiserver'}
|
local FEDERATION_BINARIES=${FEDERATION_BINARIES:-"federation-apiserver federation-controller-manager"}
|
||||||
|
|
||||||
local imageFolder="${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin"
|
local imageFolder="${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin"
|
||||||
|
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{.FEDERATION_APISERVER_DEPLOYMENT_NAME}}
|
||||||
|
namespace: {{.FEDERATION_NAMESPACE}}
|
||||||
|
labels:
|
||||||
|
app: federated-cluster
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: federated-cluster
|
||||||
|
module: federation-apiserver
|
||||||
|
ports:
|
||||||
|
- name: https
|
||||||
|
protocol: TCP
|
||||||
|
port: 443
|
||||||
|
targetPort: 443
|
@ -23,7 +23,6 @@ spec:
|
|||||||
- --service-cluster-ip-range={{.FEDERATION_SERVICE_CIDR}}
|
- --service-cluster-ip-range={{.FEDERATION_SERVICE_CIDR}}
|
||||||
- --secure-port=443
|
- --secure-port=443
|
||||||
- --advertise-address={{.FEDERATION_API_HOST}}
|
- --advertise-address={{.FEDERATION_API_HOST}}
|
||||||
- --admission-control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota
|
|
||||||
- --token-auth-file=/srv/kubernetes/known-tokens.csv
|
- --token-auth-file=/srv/kubernetes/known-tokens.csv
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 443
|
- containerPort: 443
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{.FEDERATION_CONTROLLER_MANAGER_DEPLOYMENT_NAME}}
|
||||||
|
namespace: {{.FEDERATION_NAMESPACE}}
|
||||||
|
labels:
|
||||||
|
app: federated-cluster
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: federation-controller-manager
|
||||||
|
labels:
|
||||||
|
app: federated-cluster
|
||||||
|
module: federation-controller-manager
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: controller-manager
|
||||||
|
image: {{.FEDERATION_CONTROLLER_MANAGER_IMAGE_REPO}}:{{.FEDERATION_CONTROLLER_MANAGER_IMAGE_TAG}}
|
||||||
|
command:
|
||||||
|
- /usr/local/bin/federation-controller-manager
|
||||||
|
- --master={{.FEDERATION_APISERVER_DEPLOYMENT_NAME}}:443
|
||||||
|
ports:
|
||||||
|
- containerPort: 443
|
||||||
|
name: https
|
||||||
|
- containerPort: 8080
|
||||||
|
name: local
|
||||||
|
env:
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
@ -166,6 +166,7 @@ readonly KUBE_STATIC_LIBRARIES=(
|
|||||||
kube-proxy
|
kube-proxy
|
||||||
kubectl
|
kubectl
|
||||||
federation-apiserver
|
federation-apiserver
|
||||||
|
federation-controller-manager
|
||||||
)
|
)
|
||||||
|
|
||||||
kube::golang::is_statically_linked_library() {
|
kube::golang::is_statically_linked_library() {
|
||||||
|
Loading…
Reference in New Issue
Block a user