Skip to content

Commit 868aca0

Browse files
brendandburnsWIZARD-CXY
authored andcommitted
Merge pull request kubernetes#12687 from eparis/verfiy-dash
Update flag-dash whitelist
2 parents e8fcee6 + c6a5b43 commit 868aca0

File tree

9 files changed

+212
-10
lines changed

9 files changed

+212
-10
lines changed

docs/getting-started-guides/docker-multinode.md

+5
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Please install Docker 1.6.2 or Docker 1.7.1.
4848
- [Bootstrap Docker](#bootstrap-docker)
4949
- [Master Node](#master-node)
5050
- [Adding a worker node](#adding-a-worker-node)
51+
- [Deploy a DNS](#deploy-a-dns)
5152
- [Testing your cluster](#testing-your-cluster)
5253

5354
## Prerequisites
@@ -106,6 +107,10 @@ cd kubernetes/cluster/docker-multinode
106107

107108
See [here](docker-multinode/worker.md) for detailed instructions explanation.
108109

110+
## Deploy a DNS
111+
112+
See [here](docker-multinode/deployDNS.md) for instructions.
113+
109114
## Testing your cluster
110115

111116
Once your cluster has been created you can [test it out](docker-multinode/testing.md)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
2+
3+
<!-- BEGIN STRIP_FOR_RELEASE -->
4+
5+
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
6+
width="25" height="25">
7+
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
8+
width="25" height="25">
9+
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
10+
width="25" height="25">
11+
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
12+
width="25" height="25">
13+
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
14+
width="25" height="25">
15+
16+
<h2>PLEASE NOTE: This document applies to the HEAD of the source tree</h2>
17+
18+
If you are using a released version of Kubernetes, you should
19+
refer to the docs that go with that version.
20+
21+
<strong>
22+
The latest 1.0.x release of this document can be found
23+
[here](http://releases.k8s.io/release-1.0/docs/getting-started-guides/docker-multinode/deployDNS.md).
24+
25+
Documentation for other releases can be found at
26+
[releases.k8s.io](http://releases.k8s.io).
27+
</strong>
28+
--
29+
30+
<!-- END STRIP_FOR_RELEASE -->
31+
32+
<!-- END MUNGE: UNVERSIONED_WARNING -->
33+
34+
## Deploy DNS
35+
36+
### Get the template file
37+
38+
First of all, download the template dns rc and svc file from
39+
40+
[skydns-rc template](skydns-rc.yaml.in)
41+
42+
[skydns-svc template](skydns-svc.yaml.in)
43+
44+
### Set env
45+
46+
Then you need to set `DNS_REPLICAS` , `DNS_DOMAIN` , `DNS_SERVER_IP` , `KUBE_SERVER` ENV.
47+
48+
```
49+
$ export DNS_REPLICAS=1
50+
51+
$ export DNS_DOMAIN=cluster.local # specify in startup parameter `--cluster-domain` for containerized kubelet
52+
53+
$ export DNS_SERVER_IP=10.0.0.10 # specify in startup parameter `--cluster-dns` for containerized kubelet
54+
55+
$ export KUBE_SERVER=10.10.103.250 # your master server ip, you may change it
56+
```
57+
58+
### Replace the correponding value in the template.
59+
60+
```
61+
$ sed -e "s/{{ pillar\['dns_replicas'\] }}/${DNS_REPLICAS}/g;s/{{ pillar\['dns_domain'\] }}/${DNS_DOMAIN}/g;s/{kube_server_url}/${KUBE_SERVER}/g;" skydns-rc.yaml.in > ./skydns-rc.yaml
62+
63+
$ sed -e "s/{{ pillar\['dns_server'\] }}/${DNS_SERVER_IP}/g" skydns-svc.yaml.in > ./skydns-svc.yaml
64+
```
65+
66+
### Use `kubectl` to create skydns rc and service
67+
68+
69+
```
70+
$ kubectl -s "$KUBE_SERVER:8080" --namespace=kube-system create -f ./skydns-rc.yaml
71+
72+
$ kubectl -s "$KUBE_SERVER:8080" --namespace=kube-system create -f ./skydns-svc.yaml
73+
```
74+
75+
### Test if DNS works
76+
77+
Follow [this link](../../../cluster/addons/dns/#how-do-i-test-if-it-is-working) to check it out.
78+
79+
80+
81+
82+
83+
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
84+
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/getting-started-guides/docker-multinode/deployDNS.md?pixel)]()
85+
<!-- END MUNGE: GENERATED_ANALYTICS -->

docs/getting-started-guides/docker-multinode/master.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,11 @@ systemctl start docker
160160
Ok, now that your networking is set up, you can startup Kubernetes, this is the same as the single-node case, we will use the "main" instance of the Docker daemon for the Kubernetes components.
161161

162162
```sh
163-
sudo docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v0.21.2 /hyperkube kubelet --api-servers=http://localhost:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=127.0.0.1 --config=/etc/kubernetes/manifests-multi
163+
sudo docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube kubelet --api-servers=http://localhost:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=127.0.0.1 --config=/etc/kubernetes/manifests-multi --cluster-dns=10.0.0.10 --cluster-domain=cluster.local
164164
```
165165

166+
> Note that `--cluster-dns` and `--cluster-domain` is used to deploy dns, feel free to discard them if dns is not needed.
167+
166168
### Also run the service proxy
167169

168170
```sh
@@ -196,7 +198,7 @@ If all else fails, ask questions on IRC at [#google-containers](http://webchat.f
196198

197199
### Next steps
198200

199-
Move on to [adding one or more workers](worker.md)
201+
Move on to [adding one or more workers](worker.md) or [deploy a dns](deployDNS.md)
200202

201203

202204
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->

docs/getting-started-guides/docker-multinode/master.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ start_k8s(){
135135
sleep 5
136136

137137
# Start kubelet & proxy, then start master components as pods
138-
docker run --net=host --privileged --restart=always -d -v /sys:/sys:ro -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v${K8S_VERSION} /hyperkube kubelet --api-servers=http://localhost:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=127.0.0.1 --config=/etc/kubernetes/manifests-multi
138+
docker run --net=host --privileged --restart=always -d -v /sys:/sys:ro -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v${K8S_VERSION} /hyperkube kubelet --api-servers=http://localhost:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=127.0.0.1 --config=/etc/kubernetes/manifests-multi --cluster-dns=10.0.0.10 --cluster-domain=cluster.local
139139
docker run -d --net=host --privileged gcr.io/google_containers/hyperkube:v${K8S_VERSION} /hyperkube proxy --master=http://127.0.0.1:8080 --v=2
140140
}
141141

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
apiVersion: v1
2+
kind: ReplicationController
3+
metadata:
4+
name: kube-dns-v8
5+
namespace: kube-system
6+
labels:
7+
k8s-app: kube-dns
8+
version: v8
9+
kubernetes.io/cluster-service: "true"
10+
spec:
11+
replicas: {{ pillar['dns_replicas'] }}
12+
selector:
13+
k8s-app: kube-dns
14+
version: v8
15+
template:
16+
metadata:
17+
labels:
18+
k8s-app: kube-dns
19+
version: v8
20+
kubernetes.io/cluster-service: "true"
21+
spec:
22+
containers:
23+
- name: etcd
24+
image: gcr.io/google_containers/etcd:2.0.9
25+
resources:
26+
limits:
27+
cpu: 100m
28+
memory: 50Mi
29+
command:
30+
- /usr/local/bin/etcd
31+
- -data-dir
32+
- /var/etcd/data
33+
- -listen-client-urls
34+
- http://127.0.0.1:2379,http://127.0.0.1:4001
35+
- -advertise-client-urls
36+
- http://127.0.0.1:2379,http://127.0.0.1:4001
37+
- -initial-cluster-token
38+
- skydns-etcd
39+
volumeMounts:
40+
- name: etcd-storage
41+
mountPath: /var/etcd/data
42+
- name: kube2sky
43+
image: gcr.io/google_containers/kube2sky:1.11
44+
resources:
45+
limits:
46+
cpu: 100m
47+
memory: 50Mi
48+
args:
49+
# command = "/kube2sky"
50+
- -domain={{ pillar['dns_domain'] }}
51+
- -kube_master_url=http://{kube_server_url}:8080
52+
- name: skydns
53+
image: gcr.io/google_containers/skydns:2015-03-11-001
54+
resources:
55+
limits:
56+
cpu: 100m
57+
memory: 50Mi
58+
args:
59+
# command = "/skydns"
60+
- -machines=http://localhost:4001
61+
- -addr=0.0.0.0:53
62+
- -domain={{ pillar['dns_domain'] }}.
63+
ports:
64+
- containerPort: 53
65+
name: dns
66+
protocol: UDP
67+
- containerPort: 53
68+
name: dns-tcp
69+
protocol: TCP
70+
livenessProbe:
71+
httpGet:
72+
path: /healthz
73+
port: 8080
74+
scheme: HTTP
75+
initialDelaySeconds: 30
76+
timeoutSeconds: 5
77+
- name: healthz
78+
image: gcr.io/google_containers/exechealthz:1.0
79+
resources:
80+
limits:
81+
cpu: 10m
82+
memory: 20Mi
83+
args:
84+
- -cmd=nslookup kubernetes.default.svc.{{ pillar['dns_domain'] }} localhost >/dev/null
85+
- -port=8080
86+
ports:
87+
- containerPort: 8080
88+
protocol: TCP
89+
volumes:
90+
- name: etcd-storage
91+
emptyDir: {}
92+
dnsPolicy: Default # Don't use cluster DNS.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: kube-dns
5+
namespace: kube-system
6+
labels:
7+
k8s-app: kube-dns
8+
kubernetes.io/cluster-service: "true"
9+
kubernetes.io/name: "KubeDNS"
10+
spec:
11+
selector:
12+
k8s-app: kube-dns
13+
clusterIP: {{ pillar['dns_server'] }}
14+
ports:
15+
- name: dns
16+
port: 53
17+
protocol: UDP
18+
- name: dns-tcp
19+
port: 53
20+
protocol: TCP

docs/getting-started-guides/docker-multinode/worker.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ systemctl start docker
146146
Again this is similar to the above, but the `--api-servers` now points to the master we set up in the beginning.
147147

148148
```sh
149-
sudo docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v0.21.2 /hyperkube kubelet --api-servers=http://${MASTER_IP}:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=$(hostname -i)
149+
sudo docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube kubelet --api-servers=http://${MASTER_IP}:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=$(hostname -i) --cluster-dns=10.0.0.10 --cluster-domain=cluster.local
150150
```
151151

152152
#### Run the service proxy

docs/getting-started-guides/docker-multinode/worker.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,8 @@ start_k8s() {
133133
sleep 5
134134

135135
# Start kubelet & proxy in container
136-
sudo docker run --net=host --privileged --restart=always -d -v /sys:/sys:ro -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v${K8S_VERSION} /hyperkube kubelet --api-servers=http://${MASTER_IP}:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=$(hostname -i)
136+
sudo docker run --net=host --privileged --restart=always -d -v /sys:/sys:ro -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v${K8S_VERSION} /hyperkube kubelet --api-servers=http://${MASTER_IP}:8080 --v=2 --address=0.0.0.0 --enable-server --hostname-override=$(hostname -i) --cluster-dns=10.0.0.10 --cluster-domain=cluster.local
137137
sudo docker run -d --net=host --privileged --restart=always gcr.io/google_containers/hyperkube:v${K8S_VERSION} /hyperkube proxy --master=http://${MASTER_IP}:8080 --v=2
138-
139138
}
140139

141140
echo "Detecting your OS distro ..."

hack/verify-flags/exceptions.txt

+3-4
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,6 @@ contrib/ansible/group_vars/all.yml:kube_service_addresses: 10.254.0.0/16
134134
hooks/pre-commit:invalid_flag_lines=$(hack/verify-flags-underscore.py "${allfiles[@]}")
135135
hooks/pre-commit:if [[ "${invalid_flag_lines:-}" != "" ]]; then
136136
hooks/pre-commit: for line in "${invalid_flag_lines[@]}"; do
137-
www/master/gulpfile.js: var _file_contents = 'app.constant("manifestRoutes", ' + output_sections + ');\n';
138-
www/master/gulpfile.js: stringSrc("sections.js", _file_contents).pipe(gulp.dest("js"));
139137
examples/nfs/README.md:allow_privileged: true
140138
examples/openshift-origin/README.md:allow_privileged: true
141139
examples/cluster-dns/images/frontend/client.py: service_address = socket.gethostbyname(hostname)
@@ -505,8 +503,9 @@ cluster/vagrant/provision-master.sh: runtime_config: '$(echo "$RUNTIME_CONFIG"
505503
cluster/vagrant/provision-master.sh: service_cluster_ip_range: '$(echo "$SERVICE_CLUSTER_IP_RANGE" | sed -e "s/'/''/g")'
506504
cluster/vagrant/provision-master.sh: enable_cluster_dns: '$(echo "$ENABLE_CLUSTER_DNS" | sed -e "s/'/''/g")'
507505
cluster/vagrant/provision-master.sh: admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
508-
cluster/libvirt-coreos/user_data.yml: addr: ${public_ip}:4001
509-
cluster/libvirt-coreos/user_data.yml: peer-addr: ${public_ip}:7001
506+
cluster/libvirt-coreos/user_data.yml: advertise-client-urls: http://${public_ip}:2379
507+
cluster/libvirt-coreos/user_data.yml: initial-advertise-peer-urls: http://${public_ip}:2380
508+
cluster/libvirt-coreos/user_data.yml: listen-peer-urls: http://${public_ip}:2380
510509
cluster/libvirt-coreos/user_data.yml: Address=${public_ip}/24
511510
cluster/libvirt-coreos/util.sh: public_ip=$MASTER_IP
512511
cluster/libvirt-coreos/util.sh: public_ip=${MINION_IPS[$i]}

0 commit comments

Comments
 (0)