-
kubeconfig配置【master上操作】
-
客户端测试
-
- 说明
-
测试
-
更好的部署master高可用的方式
============================================================================
- 去这篇博客,内容过多,需要6台虚拟机,有条件的建议跟着实验完整做一遍,一遍更深层次的理解高可用:
[【kubernetes】k8s集群高可用部署安装和概念详细说明【含离线部署】,客户端连接haproxy访问高可用流程
]( )
==================================================================================
- 客户端连接haproxy访问高可用集群,这句话直观吗?
是这个意思,就是我们使用任意集群外的主机,使用kubeconfig的形式连接到haproxy,然后haproxy会自动转发到master,所以只需要连接haproxy,就可以实现集群高可用了【2个master死其中一个无所谓的】
- 首先确保上面文章中高可用部署完整且测试正常,然后6台虚拟机都需要开机
[root@master1-163 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1-163 Ready control-plane,master 22h v1.21.1
master2-162 Ready control-plane,master 21h v1.21.1
worker-165 Ready 17h v1.21.1
[root@master1-163 ~]#
[root@master1-163 ~]# kubectl get pods -A -owide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system calico-kube-controllers-78d6f96c7b-nwbmt 1/1 Running 0 16h 10.244.139.67 worker-165
kube-system calico-node-nh977 1/1 Running 0 16h 192.168.59.162 master2-162
kube-system calico-node-s89tx 1/1 Running 1 16h 192.168.59.163 master1-163
kube-system calico-node-vt5dn 1/1 Running 0 16h 192.168.59.165 worker-165
kube-system coredns-545d6fc579-6l9xs 1/1 Running 0 22h 10.244.139.66 worker-165
kube-system coredns-545d6fc579-mrm2w 1/1 Running 0 22h 10.244.139.65 worker-165
kube-system kube-apiserver-master1-163 1/1 Running 2 22h 192.168.59.163 master1-163
kube-system kube-apiserver-master2-162 1/1 Running 1 21h 192.168.59.162 master2-162
kube-system kube-controller-manager-master1-163 1/1 Running 2 22h 192.168.59.163 master1-163
kube-system kube-controller-manager-master2-162 1/1 Running 1 21h 192.168.59.162 master2-162
kube-system kube-proxy-kp8p6 1/1 Running 1 21h 192.168.59.162 master2-162
kube-system kube-proxy-kqg72 1/1 Running 2 22h 192.168.59.163 master1-163
kube-system kube-proxy-nftgv 1/1 Running 0 17h 192.168.59.165 worker-165
kube-system kube-scheduler-master1-163 1/1 Running 2 22h 192.168.59.163 master1-163
kube-system kube-scheduler-master2-162 1/1 Running 1 21h 192.168.59.162 master2-162
[root@master1-163 ~]#
- 最后,找一台客户端用来访问haproxy,找一台不属于集群一部分的机器。
我这就用之前的etcd1来做客户端主机吧
Last login: Fri Nov 26 12:58:16 2021 from 192.168.59.1
[root@etcd1 ~]#
[root@etcd1 ~]# ip a | grep 59
inet 192.168.59.156/24 brd 192.168.59.255 scope global ens32
[root@etcd1 ~]#
-
client连接happroxy有2种方式
-
1、kubeconfig的方式
-
2、token的方式
-
我之前文章中对kubeconfig和token都有说明,想了解的看这篇
【Kubernetes】k8s的安全管理详细说明【k8s框架说明、token验证和kubeconfig验证详细说明】
- 我这使用kubeconfig的方式来访问
-
我也是跟着上面文章中配置的,我这不对命令做说明,不清楚的自行去看上面那篇文章中的说明哈
-
在任意一个master上操作即可,我在master1上操作吧
下面连接地址改为happroxy的地址,已经回车一个空行,并做注释了,注意看
[root@master1-163 ~]# mkdir sefe
[root@master1-163 ~]# cd sefe
[root@master1-163 sefe]# openssl genrsa -out ccx.key 2048
Generating RSA private key, 2048 bit long modulus
…+++
…+++
e is 65537 (0x10001)
[root@master1-163 sefe]# openssl req -new -key ccx.key -out ccx.csr -subj “/CN=ccx/O=cka2021”
[root@master1-163 sefe]# cat ccx.csr | base64 | tr -d “\n”
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1pUQ0NBVTBDQVFBd0lERU1NQW9HQTFVRUF3d0RZMk40TVJBd0RnWURWUVFLREFkamEyRXlNREl4TUlJQgpJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMjRMbDlPWXR6RE9oYlRZN0o5aTJ4VmpJCnFBdmZhS3BaOFJxaE5uSmxnRFMvWUlTVFhwT3k2T05KTDZ5UWY3akMxdk9OZ2tsRkZmdkt6azE2N3RRdityWGQKK1VYSkZ3a2RQWkttZlZseXhNWkRXQlhRSElvVFNvWjhTcW0va25BUDRCNURpWVkwR3QxSW52MkV6WkxrSDQxSwo1ajJCMHB4ekFDNUhRclMwc