K8S 二进制安装文档( k8s 1.17.3 docker 19.03.4)之五-配置kubectl 访问api-server

       在配置kubectl 访问api-server以及安装kube-controller-manager和kube-scheduler 组件之前,需要了解这些组件和Kube-apiserver直接的关系,K8s大部分组件都是通过Kube-apiserver进行管理,需要访问API-server 组件包括kubectl,kube-controller-manager、kube-scheduler、kubelet 、kube-proxy。这些组件访问Kube-apiserver所有都需要生成kubeconfig文件 ,在配置组件之前做个简单总结:

kubectl 访问api-server设置

1)创建admin证书

2)使用kubectl 生产kubeconfig文件

3)cp kubeconfig文件为~/.kube/config

kube-controller-manager 访问api-server设置

1)创建kube-controller-manager证书

2)创建kube-controller-manager.kubeconfig文件

3)创建/usr/lib/systemd/system/kube.controller.manager.service

kube-scheduler访问api-server设置

1)创建kube-scheduler-manager证书

2)创建kube-scheduler.kubeconfig文件

3)创建/usr/lib/systemd/system/kube.scheduler.service

kubelet访问api-server设置

1)创建token

2)创建kubelet-bootstrap.kubeconfig文件

3)创建kubelet 参数文件

4)创建/usr/lib/systemd/system/kubelet.service

kube-proxy访问api-server设置

1)创建kube-proxy证书

2)创建kubelet-porxy.kubeconfig文件

3)创建/usr/lib/systemd/system/kube-proxy.service

4.3 配置kubectl 访问api-server

4.3.1 kubectl 访问API SERVER 使用admin证书

cat > admin-csr.json <

4.3.2  生成kubectl.kubeconfig文件

kubectl config set-cluster kubernetes \

  --certificate-authority=/opt/kubernetes/ssl/ca.pem \

  --embed-certs=true \

  --server=https://10.111.104.172:8443 \

  --kubeconfig=kubectl.kubeconfig

kubectl config set-credentials admin \

  --client-certificate=/opt/kubernetes/ssl/admin.pem \

  --client-key=/opt/kubernetes/ssl/admin-key.pem \

  --embed-certs=true \

  --kubeconfig=kubectl.kubeconfig

kubectl config set-context kubernetes \

  --cluster=kubernetes \

  --user=admin \

  --kubeconfig=kubectl.kubeconfig

 ​​​​​​​ kubectl config use-context kubernetes --kubeconfig=kubectl.kubeconfig

4.3.3  拷贝kubectl.kubeconfig到~/.kube/config

cp ./kubectl.kubeconfig ~/.kube/config

4.3.4 排除的坑

  --server=https://10.111.104.172:8443

 #一定不能漏写https:否则通过Kube-apiserver 查看8443 就一直time_wait

netstat -an | grep -i 8443  

10.111.104.172:8443     10.111.70.155:40534     TIME_WAIT

 

你可能感兴趣的:(kubernetes,docker,centos,运维,tensorflow)