Skip to content

Commit b07727a

Browse files
Move default config location to /etc/rancher/k3s/k3s.yaml
1 parent 8690a27 commit b07727a

File tree

5 files changed

+23
-6
lines changed

5 files changed

+23
-6
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Quick Start
3737

3838
```bash
3939
sudo k3s server &
40-
# Kubeconfig is written to /root/.kube/k3s.yaml
40+
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
4141
sudo k3s kubectl get node
4242

4343
# On a different node run the below. NODE_TOKEN comes from /var/lib/rancher/k3s/server/node-token
@@ -66,7 +66,7 @@ INFO[2019-01-22T15:16:20.273441984-07:00] Listening on :6443
6666
INFO[2019-01-22T15:16:20.278383446-07:00] Writing manifest: /var/lib/rancher/k3s/server/manifests/coredns.yaml
6767
INFO[2019-01-22T15:16:20.474454524-07:00] Node token is available at /var/lib/rancher/k3s/server/node-token
6868
INFO[2019-01-22T15:16:20.474471391-07:00] To join node to cluster: k3s agent -s https://10.20.0.3:6443 -t ${NODE_TOKEN}
69-
INFO[2019-01-22T15:16:20.541027133-07:00] Wrote kubeconfig /root/.kube/k3s.yaml
69+
INFO[2019-01-22T15:16:20.541027133-07:00] Wrote kubeconfig /etc/rancher/k3s/k3s.yaml
7070
INFO[2019-01-22T15:16:20.541049100-07:00] Run: k3s kubectl
7171
```
7272

install.sh

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ umount `cat /proc/self/mounts | awk '{print $2}' | grep '^/run/k3s'`
7979
umount `cat /proc/self/mounts | awk '{print $2}' | grep '^/var/lib/rancher/k3s'`
8080
8181
rm -rf /var/lib/rancher/k3s
82+
rm -rf /etc/rancher/k3s
8283
8384
rm -f /usr/local/bin/k3s-uninstall.sh
8485
EOF

pkg/datadir/datadir.go

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
const (
1111
DefaultDataDir = "/var/lib/rancher/k3s"
1212
DefaultHomeDataDir = "${HOME}/.rancher/k3s"
13+
HomeConfig = "${HOME}/.kube/k3s.yaml"
14+
GlobalConfig = "/etc/rancher/k3s/k3s.yaml"
1315
)
1416

1517
func Resolve(dataDir string) (string, error) {

pkg/kubectl/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
func Main() {
1818
kubenv := os.Getenv("KUBECONFIG")
1919
if kubenv == "" {
20-
config, err := server.HomeKubeConfig()
20+
config, err := server.HomeKubeConfig(false)
2121
if _, serr := os.Stat(config); err == nil && serr == nil {
2222
os.Setenv("KUBECONFIG", config)
2323
}

pkg/server/server.go

+17-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/pkg/errors"
1717
"github.com/rancher/k3s/pkg/daemons/config"
1818
"github.com/rancher/k3s/pkg/daemons/control"
19+
"github.com/rancher/k3s/pkg/datadir"
1920
"github.com/rancher/k3s/pkg/deploy"
2021
"github.com/rancher/k3s/pkg/helm"
2122
"github.com/rancher/k3s/pkg/servicelb"
@@ -147,8 +148,19 @@ func startNorman(ctx context.Context, config *Config) (string, error) {
147148
}
148149
}
149150

150-
func HomeKubeConfig() (string, error) {
151-
return resolvehome.Resolve("${HOME}/.kube/k3s.yaml")
151+
func HomeKubeConfig(write bool) (string, error) {
152+
if write {
153+
if os.Getuid() == 0 {
154+
return datadir.GlobalConfig, nil
155+
}
156+
return resolvehome.Resolve(datadir.HomeConfig)
157+
}
158+
159+
if _, err := os.Stat(datadir.GlobalConfig); err == nil {
160+
return datadir.GlobalConfig, nil
161+
}
162+
163+
return resolvehome.Resolve(datadir.HomeConfig)
152164
}
153165

154166
func printTokens(certs, advertiseIP string, tlsConfig *dynamiclistener.UserConfig, config *config.Control) {
@@ -177,7 +189,7 @@ func printTokens(certs, advertiseIP string, tlsConfig *dynamiclistener.UserConfi
177189
func writeKubeConfig(certs string, tlsConfig *dynamiclistener.UserConfig, config *config.Control) {
178190
clientToken := FormatToken(config.Runtime.ClientToken, certs)
179191
url := fmt.Sprintf("https://localhost:%d", tlsConfig.HTTPSPort)
180-
kubeConfig, err := HomeKubeConfig()
192+
kubeConfig, err := HomeKubeConfig(true)
181193
def := true
182194
if err != nil {
183195
kubeConfig = filepath.Join(config.DataDir, "kubeconfig-k3s.yaml")
@@ -199,6 +211,8 @@ func writeKubeConfig(certs string, tlsConfig *dynamiclistener.UserConfig, config
199211
} else {
200212
logrus.Errorf("failed to set %s to mode %s: %v", kubeConfig, os.FileMode(mode), err)
201213
}
214+
} else {
215+
os.Chmod(kubeConfig, os.FileMode(0644))
202216
}
203217

204218
logrus.Infof("Wrote kubeconfig %s", kubeConfig)

0 commit comments

Comments
 (0)