【云原生 · k8s】k8s-master初始化过程讲解
2、k8s-master运行的组件查看,控制平面(官网说法)查看构成k8s主节点。查看 k8s集群状态,查看有哪些工作节点此时node机器就可以和master机器 通信 了,走kubelet进程该进程是以什么形式运行的?宿主机直接,以1号进程,systemd去启动的kubelet进程5、k8s-master主节点,查看所有工作节点的信息6、如何让集群就绪呢?部署网络插件确保集群所有节点,就绪状态1
·
文章目录
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 0 0 127.0.0.1:44061 0.0.0.0:* LISTEN 13018/kubelet
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 13018/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 13454/kube-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1022/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1255/master
tcp6 0 0 :::10250 :::* LISTEN 13018/kubelet
tcp6 0 0 :::10256 :::* LISTEN 13454/kube-proxy
tcp6 0 0 :::22 :::* LISTEN 1022/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1255/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 1623/chronyd
udp6 0 0 ::1:323 :::* 1623/chronyd
该进程是以什么形式运行的?
宿主机直接,以1号进程,systemd去启动的kubelet进程
systemctl status kubelet 查看
5、k8s-master主节点,查看所有工作节点的信息
查看k8s集群,用到了哪些机器
6、如何让集群就绪呢?部署网络插件
# 1. 下载网络插件的,配置文件 ,yaml以及配置文件
git clone --depth 1 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 -y
source /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]#
更多推荐
已为社区贡献2条内容
所有评论(0)