1024 - 记录下 cents7 搭建 docker + k8s 过程中用到的命令


替换hub 地址命令
sed -i 's/{{HUB}}/www.znf4.top:5000/g' * 

查看日志
journalctl -f

#k8s apiServer 
alias kubectl=" kubectl -s http://www.znf4.top:8080"

#查监听端口
netstat -ntlp

[root@k8s-master ~]# systemctl enable kube-apiserver.service
[root@k8s-master ~]# systemctl start kube-apiserver.service
[root@k8s-master ~]# systemctl enable kube-controller-manager.service
[root@k8s-master ~]# systemctl start kube-controller-manager.service
[root@k8s-master ~]# systemctl enable kube-scheduler.service
[root@k8s-master ~]# systemctl start kube-scheduler.service

#etcd 数据目录
命令地址:https://www.cnblogs.com/breg/p/5756558.html
/var/lib/etcd/default.xx 干掉即可。


#查看pod 容器启动日志 (后面还可以跟容器具体名字,毕竟一个pod 下可以有多个容器)
kubectl logs -f supewisor-service-deployment-1614667797-pd4c9(podName)

#当pod 启动失败后, 可以用如下命令查看pod 日志,web-gateway-deployment-7bcd9f8f8c-85lcq他是pod name.
kubectl describe pod web-gateway-deployment-7bcd9f8f8c-85lcq

kubectl get nodes 

kubectl get svc

kubectl get deploy

kubectl get pods -o wide

kubectl delete deploy  'deployName'

kubectl delete svc  'svcName'

kubectl delete pods  'podName'

kubectl apply -f xxx.yaml


#指定namespace 操作
kubectl -n kube-system(namespace名字) get svc

docker images 

docker ps

docker run 

docker pull 

docker push 

docker build -t 

docker stop id
docker rm id

docker images
docker rmi id

#进入到docker 的容器中
docker ps|grep web-gateway-deployment-869911713-m5vpr(pod name)通过这个命令查 容器 id 
docker exec -it 8a90(容器id 前四位) bash 
#测试
curl supewisor-service:3005/supewisor/common/queryLowerRegion?scope=110000

#想要在k8s 集群中 通过 Service name 来发现+port 来发现 pod 下的容器,需要安装 kube dns 。
#master 操作

etcdctl mk /skydns/config '{"dns-addr":"10.254.10.2:53","ttl":3600,"domain":"sky."}'
{"dns-addr":"10.254.10.2:53","ttl":3600,"domain":"sky."}

etcdctl update /atomic.io/network/config '{"Network": "10.0.0.0/16"}'
 
etcdctl update  /atomic.io/network/config  '{ "Network": "10.0.0.0/16", "Backend": {"Type": "vxlan"}}'

etcdctl set /atomic.io/network/config '{ "Network": "172.17.0.0/16" }'

etcdctl --endpoints=http://etcd:2379 set /atomic.io/network/config '{"Network":"10.2.0.0/16","SubnetLen":24,"Backend":{"Type":"vxlan"}}'

etcdctl mkdir /kube-centos/network
etcdctl mk /kube-centos/network/config "{ \"Network\": \"172.30.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"

#删除etcd 的数据库
rm -rf  /var/lib/etcd/*

#编辑这两个文件 
skydns-dpm.yaml  (这个不好使)
kubectl create -f skydns-dpm.yaml 

skydns-rc.yaml
skydns-svc.yaml

kubectl create -f skydns-rc.yaml 
kubectl create -f skydns-svc.yaml

#node 上操作
vim /etc/kubernetes/kubelet
#版本一
--cluster-dns=10.254.10.2 --cluster-domain=sky --allow-privileged=true
#版本二 好使-pods 可以启动,状态是:Running
--cluster-domain=lykops.net --cluster_dns=10.254.10.2
systemctl restart kubelet.service


#对于 kube-system 的namespace 不能删除问题,可以操作如下:
kubectl delete -f skydns-dpm.yaml 通过 yaml 删除其 deployments 和 services 。


#查看
[root@k8s-master yaml]# kubectl get deployment --all-namespaces
NAMESPACE     NAME   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kube-system   kube-dns        1         1         1            1           2m
kube-system kubernetes-dashboard-latest   1         1         1            1           1d
[root@k8s-master yaml]# kubectl get pod  -o wide  --all-namespaces
NAMESPACE     NAME   READY     STATUS    RESTARTS   AGE       IP          NODE
kube-system   kube-dns-520758324-1luff   2/2       Running   0  2m   10.0.28.2   k8s-node-1
kube-system kubernetes-dashboard-latest-127826951-pxrpk 1/1 Running   0  1d   10.0.62.2   k8s-node-2

#centos7下ip转发的配置 (kube-dns 可能需要这么配置)
1、先确认ipv4配置了转发设置

vim /etc/sysctl.conf                    #命令1(编辑配置文件)

net.ipv4.ip_forward=1               # 设置转发

sysctl –p


#进入到pods 中
kubectl exec -i -t web-gateway-deployment-869911713-sh0z7(podname) sh

systemctl enable flanneld
systemctl start flanneld   systemctl stop flanneld.service
service docker restart
systemctl restart kube-apiserver
systemctl restart kube-controller-manager
systemctl restart kube-scheduler

在 node 虚机上执行:
systemctl enable flanneld
systemctl start flanneld
service docker restart
systemctl restart kubelet
systemctl restart kube-proxy

#flannel 配置
vim /usr/lib/systemd/system/flanneld.service
ExecStart=/usr/bin/flanneld -etcd-endpoints=http://etcd:2379
systemctl daemon-reload

#查看日志启动是否报错
journalctl -u  flanneld

这是由于linux还有底层的iptables,所以在node上分别执行:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -L -n

猜你喜欢

转载自blog.csdn.net/qq_16681279/article/details/83346755