两种认证方式:
1、CA签名的双向数字证书认证
2、简单的基于HTTP Base或者Token的认证方式
CA签名的双向数字证书认证生成过程如下:
第一步:生成数字证书使用CA证书签名
第二步:配合相关证书的启动
第三部:客户端生成自己的证书使用CA签名,并配置CA证书启动的参数
创建CA证书和私钥相关的文件
创建名称空间
kubectl api-resources 查看资源类型
实用kubectl get (资源类型)来获取信息r如:kubectl get ns获取名称空间
kubectl create namespace develop创建一个名称空间
kubectl delete namespaces develop删除名称空间=kubectl delete ns/develop
kubectl get ns/develop -o yaml显示完整信息
kubectl describe ns/develop显示描述信息
创建控制器
kubectl create deploy ngx-dep --image=nginx:1.14-alpine 创建控制器指定镜像,控制器自动创建pod
kubectl get all 查看所有资源
kubectl get pods 查看pod
kubectl get pods -o wide显示详细信息
kubectl delete pod/ngx-dep-d554574bd-zf8d7 删除pod
创建service
kubectl create service clusterip ngx-dep --tcp=80:80 为控制器创建service
kubectl get svc查看service
kubectl get svc/ngx-dep -o yaml查看service详细信息
kubectl describe svc/ngx-dep查看描述信息
kubectl delete svc/ngx-dep删除service
查看本地默认的DNS服务
[root@master7 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.88.88
查看coredns的ip
[root@master7 ~]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10
通过域名访问service
修改cat /etc/resolv.conf为 10.96.0.10
curl ngx-dep.default.svc.cluster.local
此时ngx-dep被删重建后只要名称不变就可以正常访问
pod保持创建一个控制器,控制器自动创建pod指定镜像为hello-world
负载均衡
kubectl scale --replicas=3 deployment= hello(给控制器hello指定三个副本,此配置也会反映在service上,假如给deploy配置service的话)
此时service会随机调度用户请求到pods上,缩容就是将replicas的值改小
创建service指向nodeport
kubectl create service nodeport hello --tcp=80:80
此时可以用浏览器访问每一个宿主机的ip+31996端口
k8s的启动顺序
# systemctl start etcd
# systemctl start docker
# systemctl start kube-apiserver
# systemctl start kube-controller-manager
# systemctl start kube-scheduler
# systemctl start kubelet
# systemctl start kube-proxy