mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +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-proxy,gcr.io/google_containers/debian-iptables-amd64:v3
|
||||
federation-apiserver,busybox
|
||||
federation-controller-manager,busybox
|
||||
);;
|
||||
"arm")
|
||||
local targets=(
|
||||
@ -107,6 +108,7 @@ kube::build::get_docker_wrapped_binaries() {
|
||||
kube-scheduler,armel/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-arm:v3
|
||||
federation-apiserver,armel/busybox
|
||||
federation-controller-manager,armel/busybox
|
||||
);;
|
||||
"arm64")
|
||||
local targets=(
|
||||
@ -115,6 +117,7 @@ kube::build::get_docker_wrapped_binaries() {
|
||||
kube-scheduler,aarch64/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-arm64:v3
|
||||
federation-apiserver,aarch64/busybox
|
||||
federation-controller-manager,aarch64/busybox
|
||||
);;
|
||||
"ppc64le")
|
||||
local targets=(
|
||||
@ -123,6 +126,7 @@ kube::build::get_docker_wrapped_binaries() {
|
||||
kube-scheduler,ppc64le/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-ppc64le:v3
|
||||
federation-apiserver,ppc64le/busybox
|
||||
federation-controller-manager,ppc64lebusybox
|
||||
);;
|
||||
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_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"}
|
||||
|
||||
#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"
|
||||
|
||||
$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
|
||||
for i in {1..30};do
|
||||
@ -123,6 +128,24 @@ function create-federated-api-objects {
|
||||
sleep 4
|
||||
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 \
|
||||
KUBE_BEARER_TOKEN="$FEDERATION_API_TOKEN" \
|
||||
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
|
||||
function push-federated-images {
|
||||
: "${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"
|
||||
|
||||
|
@ -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}}
|
||||
- --secure-port=443
|
||||
- --advertise-address={{.FEDERATION_API_HOST}}
|
||||
- --admission-control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota
|
||||
- --token-auth-file=/srv/kubernetes/known-tokens.csv
|
||||
ports:
|
||||
- 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
|
||||
kubectl
|
||||
federation-apiserver
|
||||
federation-controller-manager
|
||||
)
|
||||
|
||||
kube::golang::is_statically_linked_library() {
|
||||
|
Loading…
Reference in New Issue
Block a user