Skip to content

Commit 28a0c54

Browse files
authored
Merge pull request #23 from apoorva-05/master
CNC_ROUTER_IMAGE env variable support
2 parents c19170a + 6a9aa83 commit 28a0c54

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

deploy/README.md

+25
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ Perform the following:
3737
| CNI_TYPE | Mandatory | The CNI used in kubernetes cluster. Valid values: flannel,calico,canal,weave,cilium|
3838
| DSR_IP_RANGE | Optional | This IP address range is used for DSR Iptable configuration on nodes. Both IP and subnet must be specified in format : "xx.xx.xx.xx/xx" |
3939
| CLUSTER_NAME | Optional | Unique identifier for the kubernetes cluster on which CNC is deployed. If Provided CNC will configure PolicyBasedRoutes instead of static Routes. For details, see [CNC-PBR-SUPPORT](https://github.com/citrix/citrix-k8s-ingress-controller/tree/master/docs/how-to/pbr.md#configure-pbr-using-the-citrix-node-controller) |
40+
| CNC_ROUTER_IMAGE | Optional | Specifies the internal repository image to be used for `kube-cnc-router` helper pods when Internet access is disabled on cluster nodes. For more details, see [running-cnc-without-internet-access](#running-citrix-node-controller-without-internet-access) |
4041
4142
4243
1. After you have updated the Citrix k8s node controller deployment YAML file, deploy it using the following command:
@@ -88,3 +89,27 @@ On each of the worker nodes, a interface "cncvxlan<hash-of-namespace>" and iptab
8889
1. Delete the Citrix node controller using the following command:
8990
9091
kubectl delete -f citrix-k8s-node-controller.yaml
92+
93+
## Running Citrix Node Controller without Internet access
94+
95+
Citrix node controller internally creates helper pods (`kube-cnc-router` pods) on each Kubernetes cluster node. The image used by default is `quay.io/citrix/cnc-router:1.1.0` which requires Internet access. If the Kubernetes nodes do not have internet access, creation of `kube-cnc-router` pods fails.
96+
97+
However, Citrix provides a way to access the image from your internal repository so that you can run the Citrix node controller without internet access. Using the `CNC_ROUTER_IMAGE` environment variable, you can point to the internal repository image of `quay.io/citrix/cnc-router:1.1.0`.
98+
99+
### Configuring Citrix node controller to use an image from the internal repository
100+
101+
When you deploy Citrix node controller specify the ` CNC_ROUTER_IMAGE` environment variable and set the value of the variable as your internal repository path for the image `quay.io/citrix/cnc-router:1.1.0`.
102+
103+
When you specify this environment variable, Citrix node controller uses the internal repository image provided via the `CNC_ROUTER_IMAGE` environment variable to create the `kube-cnc-router` helper pods. If the environment variable is not provided, it uses the default image ` quay.io/citrix/cnc-router:1.1.0` which requires internet access.
104+
105+
Following example shows how to specify the `CNC_ROUTER_IMAGE` environment variable while deploying Citrix node controller.
106+
107+
- While deploying Citrix node controller using the YAML file, set the value of the environment variable in the YAML file as follows:
108+
109+
- name: CNC_ROUTER_IMAGE
110+
value: "docker.xyz.com/adc/citrix/cnc-router:1.1.0"
111+
112+
- While deploying Citrix node controller using Helm charts, provide the following in values.yaml:
113+
114+
cncRouterImage: "docker.xyz.com/adc/citrix/cnc-router:1.1.0"
115+

deploy/citrix-k8s-node-controller.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ spec:
9999
serviceAccountName: citrix-node-controller
100100
containers:
101101
- name: citrix-node-controller
102-
image: "quay.io/citrix/citrix-k8s-node-controller:2.2.3"
102+
image: "quay.io/citrix/citrix-k8s-node-controller:2.2.4"
103103
imagePullPolicy: Always
104104
env:
105105
- name: NS_IP

0 commit comments

Comments
 (0)