[k8s]kubectl windows配置(kubernetic) && kubectl config set-context使用Kubernetic
阅读原文时间:2021年04月22日阅读:1

参考:

https://feisky.gitbooks.io/kubernetes/components/kubectl.html

https://kubernetes.io/docs/tasks/tools/install-kubectl/

https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe

kubectl config set-cluster local-server --server=http://192.168.x.x:8080
kubectl config set-context default-context --cluster=local-server --namespace=default
kubectl config use-context default-context
kubectl config view

会生成kubectl的配置文件

最终结果:

这次初衷是搞这个东西,一个安装版的k8s客户端kubernetic

参考:

https://kubernetic.com/

context使用

参考: https://kubernetes-v1-4.github.io/docs/user-guide/kubectl/kubectl_config/

kubectl create namespaces maotai
kubectl config set-context maotai-ctx --namespace=maotai --cluster=local-server
kubectl config use-context maotai-ctx

注:干掉ns记得干掉相关的context.

kubectl config set-context $(kubectl config current-context) --namespace=maotai


kubectl config get-contexts


kubectl config set-context maotai-ctx --namespace=maotai --cluster=local-server
kubectl config set-context maotai2-ctx --namespace=maotai2 --cluster=local-server
kubectl config set-context maotai3-ctx --namespace=maotai3 --cluster=local-server

注: 1个context关联一个ns,context只是为了本地操作方便,如果集群ns不存在的context里操作,无任何意义(不会创建任何东西).

$ cat .kube/config
apiVersion: v1
clusters:
- cluster:
    server: http://192.168.x.x:8080
  name: local-server
contexts:
- context:
    cluster: local-server
    namespace: default
    user: ""
  name: default-context
- context:
    cluster: local-server
    namespace: maotai
    user: ""
  name: maotai-ctx
- context:
    cluster: local-server
    namespace: maotai2
    user: ""
  name: maotai2-ctx
- context:
    cluster: local-server
    namespace: maotai3
    user: ""
  name: maotai3-ctx
current-context: default-context
kind: Config
preferences: {}
users: []

#!/usr/bin/env bash
# 功能: 切换context
#
# /usr/loca/bin/kkc maotai
# 1. 如果不存在,则创建了namespace:maotai 并 切换context 到 maotai
# 2,如果context存在,则切换之

# /usr/loca/bin/kkc
# 1,切换context到default

# 脚本参数说明:
# 共有1个参数,且这个参数必须是字母+数字,长度为4-6位
# 如果超过1个参数,或者参数不符合规定,则设置为default-context.
set -eu

if [ ${#} -eq 1 ] && [[ ${1} =~ (^[a-zA-Z0-9]{4,6}$) ]];then
    if [ -z `kubectl config get-contexts|egrep "${1}-ctx|${1}"` ];then
        kubectl create ns ${1}
        kubectl config set-context ${1}-ctx --namespace=$1 --cluster=local-server
        kubectl config use-context ${1}-ctx
    else
        kubectl config use-context ${1}-ctx
    fi
else
    kubectl config use-context default-context
fi
kubectl config get-contexts