k8s docker centos镜像
查看逻辑卷
lsdisplay
查看机器挂载明细
dockerroot
删除挂载卷
lvremove /dev/docker/thinpool
centos7安装yum https://blog.csdn.net/weixin_45457922/article/details/116430625
参考文章 https://www.cnblogs.com/zgqbky/p/12149753.html
配置文件https://github.com/Life-Of-Coding/kubernetes
容器清理https://www.cnblogs.com/mingbai/p/dockerclean.html
https://www.kubernetes.org.cn/doc-33
ls -lha /dev/loop-control
ls -lha /dev/loop-control
******************docker启动问题处理
There are no more loopback devices available
执行 for i in `seq 0 6`;do mknod -m 0660 /dev/loop$i b 7 $i;done
ls /dev/loop* | grep -v /dev/loop-control
处理磁盘不支持问题
执行yum install -y e4fsprogs
其他问题处理
vim /etc/sysconfig/docker --selinux-enabled=false
vim /etc/selinux/config SELINUX=disabled enforcing
vim /usr/lib/systemd/system/docker.service --insecure-registry=10.19.248.12:30100 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock \
cat /etc/sysconfig/docker-storage DOCKER_STORAGE_OPTIONS="--storage-driver btrfs " DOCKER_STORAGE_OPTIONS改为"-–storage-driver devicemapper “,
cat /etc/group 可以看到 有一个 dockerroot 的组将上方的 root 改成 dockerroot
vim /etc/docker/daemon.json
{ "storage-driver": "devicemapper" }
配置网络桥接
yum install bridge-utils
yum install iproute
brctl addbr docker0
ip addr add 172.17.0.1/16 dev docker0
ip link set dev docker0
rm -rf /var/lib/docker/network/
kubectl get nodes
kubectl get deployment --all-namespaces
kubectl get pods --namespace=kube-system
kubectl get pod --all-namespaces
kubectl -n onap get svc
kubectl describe pro kubernetes-dashboard-latest-2278389872-1v846 --namespace='kube-system'
kubectl delete -f kubernetes-dashboard.yaml
查看dashboard对外暴露端口
kubectl get svc -n kubernetes-dashboard -o wide
hostnamectl set-hostname master
kubectl get services
kubectl cluster-info
/opt/kubernetes/bin/kube-apiserver --logtostderr=false --v=2 --log-dir=/opt/kubernetes/logs --etcd-servers=https://192.168.10.177:2379,https://192.168.10.179:2379,https://192.168.10.180:2379 --bind-address=0.0.0.0 --secure-port=6443 --advertise-address=192.168.10.178 --allow-privileged=true --service-cluster-ip-range=10.0.0.0/24 --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction --authorization-mode=RBAC,Node --enable-bootstrap-token-auth=true --token-auth-file=/opt/kubernetes/cfg/token.csv --service-node-port-range=30000-32767 --kubelet-client-certificate=/opt/kubernetes/ssl/server.pem --kubelet-client-key=/opt/kubernetes/ssl/server-key.pem --tls-cert-file=/opt/kubernetes/ssl/server.pem --tls-private-key-file=/opt/kubernetes/ssl/server-key.pem --client-ca-file=/opt/kubernetes/ssl/ca.pem --service-account-key-file=/opt/kubernetes/ssl/ca-key.pem --etcd-cafile=/opt/etcd/ssl/ca.pem --etcd-certfile=/opt/etcd/ssl/server.pem --etcd-keyfile=/opt/etcd/ssl/server-key.pem --audit-log-maxage=30 --audit-log-maxbackup=3 --audit-log-maxsize=100 --audit-log-path=/opt/kubernetes/logs/k8s-audit.log
安装网工具yum install net-tools -y
安装telnet yum -y install telnet-server.x86_64 yum -y install telnet.x86_64 yum -y install xinetd.x86_64
docker pull centos:7
docker run -d -i -t --name node1 8652b9f0cb4c /bin/bash //启动后不能执行操作添加启动参数 --privileged=true /usr/sbin/init
docker inspect NAMES # 查看容器所有状态信息;
docker inspect --format='{{.NetworkSettings.IPAddress}}' ID/NAMES# 查看 容器ip 地址
docker inspect --format '{{.Name}} {{.State.Running}}' NAMES# 容器运行状态
docker top NAMES 查看进程信息
docker port ID/NAMES查看端口
使用kubectl version 命令,输出的信息会显示client和server的版本信息,client代表kubectl版本信息,server代表的是master节点的k8s版本信息
master节点组件
apiserver:用户和 kubernetes 集群交互的入口,封装了核心对象的增删改查操作,提供了 RESTFul 风格的 API 接口,通过 etcd 来实现持久化并维护对象的一致性。
scheduler:负责集群资源的调度和管理,例如当有 pod 异常退出需要重新分配机器时,scheduler 通过一定的调度算法从而找到最合适的节点。
controller-manager:主要是用于保证 replicationController 定义的复制数量和实际运行的 pod 数量一致,另外还保证了从 service 到 pod 的映射关系总是最新的。
etcd:key-value键值存储数据库,用来存储kubernetes的信息的。
minion节点组件
kubelet:运行在 minion 节点,负责和节点上的 Docker 交互,例如启停容器,监控运行状态等。
proxy:运行在 minion 节点,负责为 pod 提供代理功能,会定期从 etcd 获取 service 信息,并根据 service 信息通过修改 iptables 来实现流量转发(最初的版本是直接通过程序提供转发功能,效率较低。),将流量转发到要访问的 pod 所在的节点上去。
flannel:Flannel 是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,需要另外下载部署。我们知道当我们启动 Docker 后会有一个用于和容器进行交互的 IP 地址,如果不去管理的话可能这个 IP 地址在各个机器上是一样的,并且仅限于在本机上进行通信,无法访问到其他机器上的 Docker 容器。Flannel 的目的就是为集群中的所有节点重新规划 IP 地址的使用规则,从而使得不同节点上的容器能够获得同属一个内网且不重复的 IP 地址,并让属于不同节点上的容器能够直接通过内网 IP 通信。
安装
master节点
yum install kubernetes-master etcd -y
minion节点
yum install kubernetes-node flannel -y
查看k8s版本
kubectl get nodes
unset http_proxy;
unset https_proxy;
kubectl apply -f http://mirror.faasx.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml --validate=false
https://blog.csdn.net/xiansenLee/article/details/105720760
浙公网安备 33010602011771号