[k8s]kubectl windows配置(kubernetic) && kubectl config set-context使用Kubernetic
参考:
https://feisky.gitbooks.io/kubernetes/components/kubectl.html
https://kubernetes.io/docs/tasks/tools/install-kubectl/
下载win客户端,放到path
https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe
生成kubectl配置文件 ~/.kube/config
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/
创建ns->创建对应的context->切换到context
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
查看当前使用的context
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里操作,无任何意义(不会创建任何东西).
本质上是操作.kube/config 这个文件
$ 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: []
切换context的脚本
#!/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