mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 06:27:05 +00:00
Merge pull request #17923 from yuvipanda/kube2dns-pflag
Auto commit by PR queue bot
This commit is contained in:
commit
3f40fb7d0a
@ -21,16 +21,16 @@ example, if this is set to `kubernetes.io`, then a service named "nifty" in the
|
||||
|
||||
`-v`: Set logging level
|
||||
|
||||
`-etcd_mutation_timeout`: For how long the application will keep retrying etcd
|
||||
`-etcd-mutation-timeout`: For how long the application will keep retrying etcd
|
||||
mutation (insertion or removal of a dns entry) before giving up and crashing.
|
||||
|
||||
`-etcd-server`: The etcd server that is being used by skydns.
|
||||
|
||||
`-kube_master_url`: URL of kubernetes master. Required if `--kubecfg_file` is not set.
|
||||
`-kube-master-url`: URL of kubernetes master. Required if `--kubecfg_file` is not set.
|
||||
|
||||
`-kubecfg_file`: Path to kubecfg file that contains the master URL and tokens to authenticate with the master.
|
||||
`-kubecfg-file`: Path to kubecfg file that contains the master URL and tokens to authenticate with the master.
|
||||
|
||||
`-log_dir`: If non empty, write log files in this directory
|
||||
`-log-dir`: If non empty, write log files in this directory
|
||||
|
||||
`-logtostderr`: Logs to stderr instead of files
|
||||
|
||||
|
@ -21,7 +21,6 @@ package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"hash/fnv"
|
||||
"net/http"
|
||||
@ -34,6 +33,7 @@ import (
|
||||
etcd "github.com/coreos/go-etcd/etcd"
|
||||
"github.com/golang/glog"
|
||||
skymsg "github.com/skynetservices/skydns/msg"
|
||||
flag "github.com/spf13/pflag"
|
||||
kapi "k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
kcache "k8s.io/kubernetes/pkg/client/cache"
|
||||
@ -47,12 +47,11 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
// TODO: switch to pflag and make - and _ equivalent.
|
||||
argDomain = flag.String("domain", "cluster.local", "domain under which to create names")
|
||||
argEtcdMutationTimeout = flag.Duration("etcd_mutation_timeout", 10*time.Second, "crash after retrying etcd mutation for a specified duration")
|
||||
argEtcdMutationTimeout = flag.Duration("etcd-mutation-timeout", 10*time.Second, "crash after retrying etcd mutation for a specified duration")
|
||||
argEtcdServer = flag.String("etcd-server", "http://127.0.0.1:4001", "URL to etcd server")
|
||||
argKubecfgFile = flag.String("kubecfg_file", "", "Location of kubecfg file for access to kubernetes master service; --kube_master_url overrides the URL part of this; if neither this nor --kube_master_url are provided, defaults to service account tokens")
|
||||
argKubeMasterURL = flag.String("kube_master_url", "", "URL to reach kubernetes master. Env variables in this flag will be expanded.")
|
||||
argKubecfgFile = flag.String("kubecfg-file", "", "Location of kubecfg file for access to kubernetes master service; --kube-master-url overrides the URL part of this; if neither this nor --kube-master-url are provided, defaults to service account tokens")
|
||||
argKubeMasterURL = flag.String("kube-master-url", "", "URL to reach kubernetes master. Env variables in this flag will be expanded.")
|
||||
)
|
||||
|
||||
const (
|
||||
@ -349,7 +348,7 @@ func (ks *kube2sky) addDNS(subdomain string, service *kapi.Service) error {
|
||||
}
|
||||
|
||||
// Implements retry logic for arbitrary mutator. Crashes after retrying for
|
||||
// etcd_mutation_timeout.
|
||||
// etcd-mutation-timeout.
|
||||
func (ks *kube2sky) mutateEtcdOrDie(mutator func() error) {
|
||||
timeout := time.After(ks.etcdMutationTimeout)
|
||||
for {
|
||||
@ -456,10 +455,10 @@ func newEtcdClient(etcdServer string) (*etcd.Client, error) {
|
||||
func expandKubeMasterURL() (string, error) {
|
||||
parsedURL, err := url.Parse(os.ExpandEnv(*argKubeMasterURL))
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("failed to parse --kube_master_url %s - %v", *argKubeMasterURL, err)
|
||||
return "", fmt.Errorf("failed to parse --kube-master-url %s - %v", *argKubeMasterURL, err)
|
||||
}
|
||||
if parsedURL.Scheme == "" || parsedURL.Host == "" || parsedURL.Host == ":" {
|
||||
return "", fmt.Errorf("invalid --kube_master_url specified %s", *argKubeMasterURL)
|
||||
return "", fmt.Errorf("invalid --kube-master-url specified %s", *argKubeMasterURL)
|
||||
}
|
||||
return parsedURL.String(), nil
|
||||
}
|
||||
@ -471,7 +470,7 @@ func newKubeClient() (*kclient.Client, error) {
|
||||
err error
|
||||
masterURL string
|
||||
)
|
||||
// If the user specified --kube_master_url, expand env vars and verify it.
|
||||
// If the user specified --kube-master-url, expand env vars and verify it.
|
||||
if *argKubeMasterURL != "" {
|
||||
masterURL, err = expandKubeMasterURL()
|
||||
if err != nil {
|
||||
@ -480,15 +479,15 @@ func newKubeClient() (*kclient.Client, error) {
|
||||
}
|
||||
|
||||
if masterURL != "" && *argKubecfgFile == "" {
|
||||
// Only --kube_master_url was provided.
|
||||
// Only --kube-master-url was provided.
|
||||
config = &kclient.Config{
|
||||
Host: masterURL,
|
||||
GroupVersion: &unversioned.GroupVersion{Version: "v1"},
|
||||
}
|
||||
} else {
|
||||
// We either have:
|
||||
// 1) --kube_master_url and --kubecfg_file
|
||||
// 2) just --kubecfg_file
|
||||
// 1) --kube-master-url and --kubecfg-file
|
||||
// 2) just --kubecfg-file
|
||||
// 3) neither flag
|
||||
// In any case, the logic is the same. If (3), this will automatically
|
||||
// fall back on the service account token.
|
||||
@ -563,6 +562,7 @@ func getHash(text string) string {
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.CommandLine.SetNormalizeFunc(util.WarnWordSepNormalizeFunc)
|
||||
flag.Parse()
|
||||
var err error
|
||||
// TODO: Validate input flags.
|
||||
|
@ -55,7 +55,7 @@ spec:
|
||||
memory: 50Mi
|
||||
args:
|
||||
# command = "/kube2sky"
|
||||
- -domain={{ pillar['dns_domain'] }}
|
||||
- --domain={{ pillar['dns_domain'] }}
|
||||
- name: skydns
|
||||
image: gcr.io/google_containers/skydns:2015-10-13-8c72f8c
|
||||
resources:
|
||||
|
@ -45,7 +45,8 @@ cluster/juju/charms/trusty/kubernetes/hooks/network-relation-changed: api_ser
|
||||
cluster/juju/charms/trusty/kubernetes/hooks/network-relation-changed: etcd_servers = get_rel_hosts('etcd', rels, ('hostname', 'port'))
|
||||
cluster/juju/charms/trusty/kubernetes/hooks/network-relation-changed: for k in ('etcd_servers', 'kubeapi_server'):
|
||||
cluster/juju/charms/trusty/kubernetes/hooks/network-relation-changed: if api_servers:
|
||||
cluster/mesos/docker/common/bin/util-ssl.sh: local cluster_domain="cluster.local"
|
||||
cluster/lib/logging.sh: local source_file=${BASH_SOURCE[$frame_no]}
|
||||
cluster/lib/logging.sh: local source_file=${BASH_SOURCE[$stack_skip]}
|
||||
cluster/mesos/docker/km/build.sh: km_path=$(find-binary km darwin/amd64)
|
||||
cluster/rackspace/util.sh: local node_ip=$(nova show --minimal ${NODE_NAMES[$i]} \
|
||||
cluster/saltbase/salt/kube-addons/kube-addons.sh:# Create admission_control objects if defined before any other addon services. If the limits
|
||||
@ -75,6 +76,7 @@ docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js: re
|
||||
docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js: return cloud_config.process_template(input_file, output_file, function(data) {
|
||||
docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js: var write_files_extra = cloud_config.write_files_from('addons', '/etc/kubernetes/addons');
|
||||
docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js:var cloud_config = require('../cloud_config.js');
|
||||
docs/getting-started-guides/docker-multinode/skydns-rc.yaml.in: - -kube_master_url=http://{kube_server_url}:8080
|
||||
examples/cluster-dns/images/frontend/client.py: service_address = socket.gethostbyname(hostname)
|
||||
examples/vitess/env.sh: node_ip=$(get_node_ip)
|
||||
hack/jenkins/e2e.sh: local -r cluster_name="$3"
|
||||
@ -84,8 +86,6 @@ hack/jenkins/update-jobs.sh: docker cp jenkins_jobs.ini job-builder:/etc/jenk
|
||||
hack/jenkins/update-jobs.sh: echo "jenkins_jobs.ini not found in workspace" >&2
|
||||
hack/jenkins/update-jobs.sh: # jenkins_jobs.ini contains administrative credentials for Jenkins.
|
||||
hack/jenkins/update-jobs.sh: if [[ -e jenkins_jobs.ini ]]; then
|
||||
cluster/lib/logging.sh: local source_file=${BASH_SOURCE[$frame_no]}
|
||||
cluster/lib/logging.sh: local source_file=${BASH_SOURCE[$stack_skip]}
|
||||
hack/local-up-cluster.sh: runtime_config="--runtime-config=${RUNTIME_CONFIG}"
|
||||
hack/local-up-cluster.sh: runtime_config=""
|
||||
hack/test-cmd.sh: --runtime_config="extensions/v1beta1/deployments=true" \
|
||||
|
@ -1,6 +1,5 @@
|
||||
check_version_skew
|
||||
concurrent_rc_syncs
|
||||
etcd_mutation_timeout
|
||||
file_content
|
||||
file_mode
|
||||
file_owner
|
||||
@ -8,8 +7,6 @@ file_perm
|
||||
fs_type
|
||||
gke_context
|
||||
host_port_endpoints
|
||||
kubecfg_file
|
||||
kube_master_url
|
||||
max_in_flight
|
||||
max_par
|
||||
new_file_0644
|
||||
|
@ -88,6 +88,7 @@ enable-debugging-handlers
|
||||
enable-hostpath-provisioner
|
||||
enable-server
|
||||
etcd-config
|
||||
etcd-mutation-timeout
|
||||
etcd-prefix
|
||||
etcd-server
|
||||
etcd-servers
|
||||
@ -157,6 +158,7 @@ kube-api-burst
|
||||
kube-api-qps
|
||||
kube-master
|
||||
kube-reserved
|
||||
kubecfg-file
|
||||
kubectl-path
|
||||
kubelet-address
|
||||
kubelet-cadvisor-port
|
||||
@ -174,6 +176,8 @@ kubelet-read-only-port
|
||||
kubelet-root-dir
|
||||
kubelet-sync-frequency
|
||||
kubelet-timeout
|
||||
kube-master
|
||||
kube-master-url
|
||||
kubernetes-service-node-port
|
||||
label-columns
|
||||
last-release-pr
|
||||
|
Loading…
Reference in New Issue
Block a user