文章目录
1、k8s-master初始化过程讲解
中间的组件创建过程,以及ssl证书创建过程,暂时不用看,以后回国头再看
# k8s-master成功装好了
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:# 创建k8s集群配置文件# 制定了,默认的ssl整数在哪,api-server的地址,等
mkdir -p$HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g)$HOME/.kube/config
======================-===============# pod分布再多个机器上,pod互相之间链接,得部署,集群网络,选用flannel网络插件# 安装,使用即可。
You should now deploy a pod network to the cluster.==================================
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/# 使用如下命令,将k8s-node加入集群即可,
Then you can join any number of worker nodes by running the following on each as root:===================================================# join添加到集群中
kubeadm join 10.0.0.10:6443--token vf7bng.p0lkay3nygloh561 \--discovery-token-ca-cert-hash sha256:ddedb46b4e161fb487ae3ceab0b014283df1afbe7cf1604804e1d075ceeaf69a
====================================[root@k8s-master-10~]## k8s-master初始化结果,讲解,听懂6666
2、k8s-master运行的组件查看,控制平面(官网说法)查看
构成k8s主节点。
3、此时主节点就可以用
查看 k8s集群状态,查看有哪些工作节点
客户端命令
# 可以直接和api-server交互,查询 你要的信息 # 这个命令,默认会去加载ssl证书,确保安全# 以后再聊,kubectl的整数添加参数# 再主节点上,使用这个命令是可以直接用的
kubectl get nodes
# 显示更详细的信息
kubectl get nodes -owide
4、加入k8s-node到集群中
只需要用上述的集群命令添加即可。
此时node机器就可以和master机器 通信 了,走kubelet进程
[root@k8s-node-12 ~]#netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 00127.0.0.1:44061 0.0.0.0:* LISTEN 13018/kubelet
tcp 00127.0.0.1:10248 0.0.0.0:* LISTEN 13018/kubelet
tcp 00127.0.0.1:10249 0.0.0.0:* LISTEN 13454/kube-proxy
tcp 000.0.0.0:22 0.0.0.0:* LISTEN 1022/sshd
tcp 00127.0.0.1:25 0.0.0.0:* LISTEN 1255/master
tcp6 00 :::10250 :::* LISTEN 13018/kubelet
tcp6 00 :::10256 :::* LISTEN 13454/kube-proxy
tcp6 00 :::22 :::* LISTEN 1022/sshd
tcp6 00 ::1:25 :::* LISTEN 1255/master
udp 00127.0.0.1:323 0.0.0.0:* 1623/chronyd
udp6 00 ::1:323 :::* 1623/chronyd
该进程是以什么形式运行的?
宿主机直接,以1号进程,systemd去启动的kubelet进程
systemctl status kubelet 查看
5、k8s-master主节点,查看所有工作节点的信息
查看k8s集群,用到了哪些机器
6、如何让集群就绪呢?部署网络插件
# 1. 下载网络插件的,配置文件 ,yaml以及配置文件git clone --depth1 https://github.com/coreos/flannel.git
# 2.再k8s主节点上,应用这个yaml,基于yaml,创建具体的pod过程。# 3.如果需要修改pod运行网络的话,要改配置文件,
/root/flannel-master/Documentation/kube-flannel.yml
# 创建k8s资源,都是写这种yml文件了[root@k8s-master-10 ~/flannel-master/Documentation]#grep 'Network' -A 5 kube-flannel.yml "Network":"10.2.0.0/16",
"Backend":{"Type":"vxlan"}}
---
# 修改的第二处,夸主机的容器通信,最终不得走宿主机的物理网卡。# 告诉flannel的你物理网卡是谁
containers:
- name: kube-flannel
#image: flannelcni/flannel:v0.19.2 for ppc64le and mips64le (dockerhub limitations may apply)
image: docker.io/rancher/mirrored-flannelcni-flannel:v0.19.2
command:
- /opt/bin/flanneld
args:
- --ip-masq
- --kube-subnet-mgr
- --iface=ens33
# 基于kubectl命令,应用这个yml文件,读取,以及创建pod资源[root@k8s-master-10 ~/flannel-master/Documentation]#kubectl create -f ./kube-flannel.yml
namespace/kube-flannel created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created
# 查看当前机器的容器,关于flannel网络插件的进程[root@k8s-master-10 ~/flannel-master/Documentation]#docker ps |grep flannel
812ebf6b0578 registry.aliyuncs.com/google_containers/pause:3.2 "/pause"31 seconds ago Up 31 seconds k8s_POD_kube-flannel-ds-9x4l2_kube-flannel_37b34022-cc0d-47c3-b677-3fe657374dbc_0
修改pod网络的网段地址,根据kubeadm init 初始化时,设置的地址来
7、为何所有节点,都有了网络插件进程
9、至此,所有机器,都走flannel进行集群通信了。
[root@k8s-master-10 ~/flannel-master/Documentation]#kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master-10 Ready master 41m v1.19.3 10.0.0.10 <none> CentOS Linux 7(Core)3.10.0-862.el7.x86_64 docker://19.3.15
k8s-node-11 Ready <none> 31m v1.19.3 10.0.0.11 <none> CentOS Linux 7(Core)3.10.0-862.el7.x86_64 docker://19.3.15
k8s-node-12 Ready <none> 31m v1.19.3 10.0.0.12 <none> CentOS Linux 7(Core)3.10.0-862.el7.x86_64 docker://19.3.15
[root@k8s-master-10 ~/flannel-master/Documentation]## 至此表示,3个节点,集群通信OK,可以pod部署了,。看懂111[root@k8s-master-10 ~/flannel-master/Documentation]#[root@k8s-master-10 ~/flannel-master/Documentation]#[root@k8s-master-10 ~/flannel-master/Documentation]#[root@k8s-master-10 ~/flannel-master/Documentation]#[root@k8s-master-10 ~/flannel-master/Documentation]## 至此表示,3个节点,集群通信OK,可以pod部署了,。看懂111[root@k8s-master-10 ~/flannel-master/Documentation]#
确保集群所有节点,就绪状态
10、配置k8s命令补全(重要)
k8s命令太多,务必要配置补全
操作节点:k8s-master
yum install bash-completion -ysource /usr/share/bash-completion/bash_completion
source<(kubectl completion bash)echo"source <(kubectl completion bash)">> ~/.bashrc
11、发出pod创建请求,运行一个nginx-pod
# 查看命令帮助
kubectl run --help# 后台运行一个nginx ,1.14.1 pod ,看结果[root@k8s-master-10 ~/flannel-master/Documentation]#kubectl run linux0224-pod-1-nginx --image=nginx:1.14.1
pod/linux0224-pod-1-nginx created
# 如何查看pod信息? get 查询[root@k8s-master-10 ~/flannel-master/Documentation]#kubectl get pods -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
linux0224-pod-1-nginx 1/1 Running 0 38s 10.2.2.2 k8s-node-11 <none><none>
访问pod-ip即可
pod的ip是k8s集群,才能访问通的一个ip,无法再 外部访问,外部访问,得设置更多网络规则。
12、如何修改这个页面
你会的改法?
直接修改容器信息,具体机器上,的集体容器进程
[root@k8s-node-11 ~]#docker exec 25ff3ec21095 sh -c "echo '<meta charset-utf8> 同志们辛苦了。' > /usr/share/nginx/html/index.html"
容器集群。,走管理节点去管理pod。再去修改 容器信息,让你明白,。pod和容器的关系
命令很像
[root@k8s-master-10 ~/flannel-master/Documentation]#kubectl exec linux0224-pod-1-nginx -- sh -c "echo '辛苦了同志们,散会,下午好好消化下,干饭' >/usr/share/nginx/html/index.html "[root@k8s-master-10 ~/flannel-master/Documentation]#[root@k8s-master-10 ~/flannel-master/Documentation]##基于k8s命令,修改pod内的容器信息,以及帮助信息查看[root@k8s-master-10 ~/flannel-master/Documentation]#[root@k8s-master-10 ~/flannel-master/Documentation]#kubectl exec linux0224-pod-1-nginx -- sh -c "echo '辛苦了同志们,散会,下午好好消化下,干饭' >/usr/share/nginx/html/index.html "[root@k8s-master-10 ~/flannel-master/Documentation]#
版权归原作者 亮点菌 所有, 如有侵权,请联系我们删除。