Sziasztok,
probalok Deploy-t kesziteni egy adott namespace-be.
Ezeket sikerult eddig hozzaadnom bill role objektumaba.
root@server:~/test# kubectl describe role bill -n brown-fox
Name: bill
Labels: <none>
Annotations: <none>
PolicyRule:
Resources Non-Resource URLs Resource Names Verbs
--------- ----------------- -------------- -----
deployments [] [] [create get update list watch patch delete]
namespaces [] [] [create get update list watch patch delete]
nodes [] [] [create get update list watch patch delete]
pods [] [] [create get update list watch patch delete]
replicasets [] [] [create get update list watch patch delete]
services [] [] [create get update list watch patch delete]
deployments.apps [] [] [create get update list watch patch delete]
namespaces.apps [] [] [create get update list watch patch delete]
nodes.apps [] [] [create get update list watch patch delete]
pods.apps [] [] [create get update list watch patch delete]
replicasets.apps [] [] [create get update list watch patch delete]
services.apps [] [] [create get update list watch patch delete]
deployments.extensions [] [] [create get update list watch patch delete]
namespaces.extensions [] [] [create get update list watch patch delete]
nodes.extensions [] [] [create get update list watch patch delete]
pods.extensions [] [] [create get update list watch patch delete]
replicasets.extensions [] [] [create get update list watch patch delete]
services.extensions [] [] [create get update list watch patch delete]
root@server:~/test#
Kerdesek:
Futtathato egyetlen rendszeren a deploy tobb replikaja?
Milyen objektum hianyzik meg ahhoz, hogy az alabbi deploy lefusson hiba nelkul?
root@server:~/test# cat <<EOF | kubectl apply -f -
> apiVersion: v1
> kind: Deploy
> metadata:
> name: nginx2
> namespace: brown-fox
> spec:
> replicas: 3
> containers:
> - name: nginx3-cont
> image: nginx:1.14.2
> ports:
> - containerPort: 80
> EOF
error: resource mapping not found for name: "nginx2" namespace: "brown-fox" from "STDIN": no matches for kind "Deploy" in version "v1"
ensure CRDs are installed first
root@server:~/test#
UPDATE:
apiVersion: app/v1
kind: Deployment
sem segitett.
error: resource mapping not found for name: "nginx2" namespace: "brown-fox" from "STDIN": no matches for kind "Deployment" in version "app/v1"
ensure CRDs are installed first
Koszonom a segitseget.
Ardi
- 251 megtekintés
Hozzászólások
kubectl api-resources
- A hozzászóláshoz be kell jelentkezni
Meg ha hozza is adom:
root@server:~/test# kubectl describe role bill -n brown-fox
Name: bill
Labels: <none>
Annotations: <none>
PolicyRule:
Resources Non-Resource URLs Resource Names Verbs
--------- ----------------- -------------- -----
clusterrolebindings.rbac.authorization.k8s.io [] [] [create get list watch]
clusterroles.rbac.authorization.k8s.io [] [] [create get list watch]
deployment.apps [] [] [create get update list delete watch patch]
namespaces [] [] [create get update list watch patch delete]
nodes [] [] [create get update list watch patch delete]
pods [] [] [create get update list watch patch delete]
services [] [] [create get update list watch patch delete]
customresourcedefinitions.apiextensions.k8s.io/v1 [] [] [get list watch create update patch delete]
root@server:~/test#
akkor is ezt kapom:
customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition
Nincs valamilyen tool. mely listazna, mik kellenek egy deploymenthez?
Ardi
- A hozzászóláshoz be kell jelentkezni
a parancs amit fent irtam azt csinalja...kilistazza milyen apik/kind-ok elerhetoek a kubernetesedben a built-in vagy hozzaadott crd-k szerint. Az hogy mik a kotelezo parameterek egy deploymentnel le van irva a doksiban. Vagy nezd meg a json schema-t. Vagy rakj fel az ide-dbe egy plugint ami ellenorzi (vscode kubernetes plugin pl.)
nem akarsz kicsit dokumentaciot olvasni vagy egy oktatast megnezni mielott nekiesel mint uveges toth a hanyattesesnek?
- A hozzászóláshoz be kell jelentkezni
A dokumentáció olvasása nem más, mint a kreativitás béklyóba verése. :-)
- A hozzászóláshoz be kell jelentkezni
Nagyon ugy fest a spec resz, hogy ez egy mezei Deployment szeretne lenni. Igy semmilyen role sem szukseges hozza.
Ez lenne az eleje:
apiVersion: apps/v1
kind: Deployment
- A hozzászóláshoz be kell jelentkezni
Az az erdekes, hogy meeg igy sem megy.
Es nemcsak a context modban, hanem root-kent sem a szerveren:
root@server:~/test# cat <<EOF | kubectl apply -f -
> ---
> apiVersion: apps/v1
> kind: Deployment
> metadata:
> name: nginx2
> namespace: brown-fox
> spec:
> replicas: 2
> containers:
> - name: nginx3
> image: nginx:1.14.2
> ports:
> - containerPort: 80
> EOF
Error from server (BadRequest): error when creating "STDIN": Deployment in version "v1" cannot be handled as a Deployment: strict decoding error: unknown field "spec.containers"
root@server:~/test#
root@server:~/test#
Es https://www.yamllint.com/ szerint jo a YAML file.
Ardi
- A hozzászóláshoz be kell jelentkezni
Ahh, igen, en is elneztem
Hianyzik a template es par label is
Lasd a hivatalos doksiban:
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
- A hozzászóláshoz be kell jelentkezni
Koszi -ezzel mukodott root alatt:
deployment.apps/nginx-deployment created
ha hozzairtam a namespace: brown-fox sort
kubectl delete deploy nginx-deployment -n brown-fox
deployment.apps "nginx-deployment" deleted
Viszont ha a gepemrol probalom bill-context config beallitassal, akkor meeg mindig hibas:
Error from server (Forbidden): error when retrieving current configuration of:
Resource: "apps/v1, Resource=deployments", GroupVersionKind: "apps/v1, Kind=Deployment"
Name: "nginx-deployment", Namespace: "brown-fox"
from server for: "STDIN": deployments.apps "nginx-deployment" is forbidden: User "system:serviceaccount:brown-fox:bill-s
a" cannot get resource "deployments" in API group "apps" in the namespace "brown-fox"
root@server:~/test# ku get sa -n brown-fox
NAME SECRETS AGE
default 0 9d
bill-sa 1 9d
root@server:~/test# ku describe sa bill-sa -n brown-fox
Name: bill-sa
Namespace: brown-fox
Labels: <none>
Annotations: <none>
Image pull secrets: <none>
Mountable secrets: bill-secret
Tokens: bill-secret
Events: <none>
root@server:~/test#
nem tudom, mit tegyek a role definicioba es pontosan melyik apiGroup ala...
Ardi
- A hozzászóláshoz be kell jelentkezni
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx2
namespace: default
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
#root@server:~/test# cat <<EOF | kubectl apply -f -
#> apiVersion: v1
#> kind: Deploy
#> metadata:
#> name: nginx2
#> namespace: brown-fox
#> spec:
#> replicas: 3
#> containers:
#> - name: nginx3-cont
#> image: nginx:1.14.2
#> ports:
#> - containerPort: 80
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
.....
portainer deployment.apps/portainer 1/1 1 1 71m
default deployment.apps/nginx2 3/3 3 3 2m1s
default pod/nginx2-85996f8dbd-5s9jj 1/1 Running 0 17m 10.1.164.150 as8 <none> <none>
default pod/nginx2-85996f8dbd-jtjf2 1/1 Running 0 17m 10.1.164.148 as8 <none> <none>
default pod/nginx2-85996f8dbd-n8kx9 1/1 Running 0 17m 10.1.164.149 as8 <none> <none>
- A hozzászóláshoz be kell jelentkezni
Asszem, meglett az egesz:
Ezzel kezdtem a szerveren - meeg meg kell ertenem, melyik mire van es mi felesleges. :-)
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: bill
namespace: brown-fox
rules:
- apiGroups: [""]
resources: ["pods", "services", "namespaces", "nodes"]
verbs: ["create", "get", "update", "list", "watch", "patch", "delete"] #now delete is there
- apiGroups: ["apiextensions.k8s.io/v1"] #alabb kiszedve
resources: ["customresourcedefinitions"] #alabb kiszedve
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] ##alabb kiszedve
- apiGroups: ["apps", "extensions"] #extensions added
resources: ["deployments"]# wrongly deployment was here without s at the end
verbs: ["create", "get", "update", "list", "delete", "watch", "patch"]
- apiGroups: ["rbac.authorization.k8s.io"] #alabb kiszedve
resources: ["clusterroles", "clusterrolebindings"]#alabb kiszedve
verbs: ["create", "get", "list", "watch"] #alabb kiszedve
EOF
UPDATE: (mukodik ezzel is - kiszedtem par sort)
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: bill
namespace: brown-fox
rules:
- apiGroups: [""]
resources: ["pods", "services", "namespaces", "nodes"]
verbs: ["create", "get", "update", "list", "watch", "patch", "delete"] #now delete is there
- apiGroups: ["apps", "extensions"] #extensions added
resources: ["deployments"]# wrongly deployment was here
verbs: ["create", "get", "update", "list", "delete", "watch", "patch"]
EOF
a notebookon:
$ cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: brown-fox
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
EOF
deployment.apps/nginx-deployment created
$ ku get deploy -n brown-fox
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deployment 3/3 3 3 95s
$ ku get pod -n brown-fox
NAME READY STATUS RESTARTS AGE
nginx-deployment-7fb96c846b-5bh88 1/1 Running 0 101s
nginx-deployment-7fb96c846b-dcrhp 1/1 Running 0 101s
nginx-deployment-7fb96c846b-g846b 1/1 Running 0 101s
$ ku delete deploy nginx-deployment -n brown-fox
deployment.apps "nginx-deployment" deleted
$
Ugyhogy tudok deploy-t rakni es torolni is.
Koszonot mindenkinek a segitsegert.
Ardi
- A hozzászóláshoz be kell jelentkezni